Optimize for 1 intial handler type
Optimize for not using bound promises
optimize for uncancellable promises
rollback to multiple initial handlers
implement Promise.delay and Promise#timeout
implement Promise#delay