Ответ 1
Как упоминается в комментарии camcann, Control.Monad.Instances
определяет только экземпляр Functor
.
Control.Monad.Applicative
определяет экземпляр Applicative
.
Пакет transformers
и, следовательно, также версия 2 и выше
mtl
, определите функцию-обертку writer :: (a, w) -> Writer w a
.
Но я не нашел экземпляр Monad
где-нибудь.