
On 12 November 2011 21:29, Edward Kmett
I propose adding an (orphan) instance of Monad for ((,) e) to Data.Monoid.
We could make it non-orphaned by putting it in GHC.Base. This does require putting the Monoid type class together with the [a], (a->b), (), (a,b), (a,b,c), (a,b,c,d) and (a,b,c,d,e) Monoid instances in GHC.Base. Data.Monoid then just re-exports the type class and instances. I'm +1 either way. BTW, it would be really nice if transformers could change its WriterT type from: newtype WriterT w m a = WriterT { runWriterT :: m (a, w) } to: newtype WriterT w m a = WriterT { runWriterT :: m (w, a) } so that it becomes compatible with the proposed ((,) w) instance. Ross, any chance that this could be done. Or does this break to much code? Cheers, Bas