They are writer monads for sure, but WriterT does not subsume them. If a typeclass method has type Writer w a, it does not allow GeneralizedNewtypeDeriving on it due to the type roles.

I don't really have any idea how instance warnings should look like.

2019年4月7日(日) 17:58 Henning Thielemann <lemming@henning-thielemann.de>:

On Sun, 7 Apr 2019, Fumiaki Kinoshita wrote:

> I removed Foldable/Traversable instances from the patch with reluctance. I'd still like to add these instances:
>
> Functor ((,,) a b)
> (Monoid a, Monoid b) => Applicative ((,,) a b)
> (Monoid a, Monoid b) => Monad ((,,) a b)
> Functor ((,,,) a b c)
> (Monoid a, Monoid b, Monoid c) => Applicative ((,,,) a b c)
> (Monoid a, Monoid b, Monoid c) => Monad ((,,,) a b c)

Still duplicates to the Writer monad.

How about extending the patch by the long needed instance warnings? :-)