MAS O QUE É UMA MONAD?
A monad is just a monoid in the category of
endofunctors.
James Iry
http://james-iry.blogspot.com.br/2009/05/brief-incomplete-and-mostly-wrong.html
Slide 12
Slide 12 text
DEFINIÇÃO DE UMA MONAD
type Monad
return :: a -> m a
(>>=) :: m a -> (a -> m b) -> m b