Only call extract on promise lists.
Change variable name for clarity.
Add .invert() method.

Given a promise, return a promise that will fulfill when the given
promise rejects and will reject when the given promise fulfills.