monad docs and examples