Monad
Application
If the `Applicative` version is needed in the future, we should name it using the `A` suffix instead of `M`.
Reason: it contains a bunch of little functions that are supposed to be defined in other modules.