Create TypeError without new.
Correctly return resolved and reject promises.

Fixes #18.