For compatibility with Haskell. Note that monads are not free to define return and pure differently!
return
pure
Also called bind.
bind
Also called flatten or mu
flatten