Вот, кстати: 
> If f is also a Monad, it should satisfy pure = return and (<*>) = ap (which implies that pure and <*> satisfy the applicative functor laws).

http://www.haskell.org/ghc/docs/latest/html/libraries/base/Control-Applicative.html