On Thu, Feb 17, 2011 at 4:57 PM, Max Bolingbroke <batterseapower@hotmail.com> wrote:
I think the problem is that the mtl1 Functor instances looked like:
instance Monad m => Functor (ReaderT e m) where
fmap = ...
But the mtl2/transformers instances look like:
instance Functor f => Functor (ReaderT e f) where
fmap = ...
I see! So the problem is not that previously "(Monad m) implied (Functor m)" (which has been proposed only recently) but that previously many Functor instances required (Monad m) but now require (Functor m).
Thanks for the clarification,
Sebastian