The monad and examples from Haskell