Make $do expect functions to return monadic values.
Add Promise monad with better examples.