Monad is a subtype of applicative functors