adds default methods
BoundFuture and PromiseImpl are now safer