<div class="gmail_quote">On Thu, Feb 17, 2011 at 4:57 PM, Max Bolingbroke <span dir="ltr">&lt;<a href="mailto:batterseapower@hotmail.com">batterseapower@hotmail.com</a>&gt;</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 =&gt; Functor (ReaderT e m) where<br>
  fmap = ...<br>
<br>
But the mtl2/transformers instances look like:<br>
<br>
instance Functor f =&gt; Functor (ReaderT e f) where<br>
  fmap = ...<br></blockquote><div><br></div><div>I see! So the problem is not that previously &quot;(Monad m) implied (Functor m)&quot; (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>