<div class="gmail_quote">On Thu, Feb 17, 2011 at 4:57 PM, Max Bolingbroke <span dir="ltr"><<a href="mailto:batterseapower@hotmail.com">batterseapower@hotmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">I think the problem is that the mtl1 Functor instances looked like:</div>
<br>
instance Monad m => Functor (ReaderT e m) where<br>
fmap = ...<br>
<br>
But the mtl2/transformers instances look like:<br>
<br>
instance Functor f => Functor (ReaderT e f) where<br>
fmap = ...<br></blockquote><div><br></div><div>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).</div>
<div><br></div><div>Thanks for the clarification,</div><div>Sebastian</div></div>