Supports macros (can be used for Futures, Cofutures, Promises, etc.)
More examples.