[Haskell] Functor => Applicative => Monad