Proper error classes for API.
Typo.
Rename $promisify() to $coroutine() to better align with Bluebird.