Make promises covariant and obligations contravariant
Fix fulfill docstring.
Add block (inverse of unblock).