Hi, gents -<div><br></div><div>I&#39;ve lately been writing some application code that, by virtue of the libraries it uses, depends on both mtl and monads-fd. Alas, this means that I have two incompatible versions of some of the most widely used monad transformers in scope, and I have to carefully import the right version of Control.Monad.Trans:</div>
<div><br></div><div>{-# LANGUAGE PackageImports #-}</div><div><div>import qualified &quot;mtl&quot; Control.Monad.Trans as M</div><div>import qualified &quot;monads-fd&quot; Control.Monad.Trans as F</div></div><div><br></div>
<div>Then I have to be equally careful in using the right version of liftIO depending on the monad I&#39;m working in.</div><div><br></div><div>This is a really bad situation for some of the platform&#39;s core libraries to be in, even temporarily, as it puts a solid barrier in place to non-wizardly people due to the confusion induced, especially since the kind of code I&#39;m writing is the kind of appealing-yet-vanilla stuff that I&#39;d hope would simply work (using the Snap web framework and an XMPP library).</div>
<div><br></div><div>Greg Collins mentioned that there&#39;s some kind of plan for mtl to become a shell package that depends on transformers and monads-fd. Given my experience, I&#39;d consider advancing this plan and getting it into the next Haskell Platform release (and ready before GHC 7 ships) to be a matter of the utmost urgency.</div>
<div><br></div><div>What kind of help can I provide you to rush this along?</div><div><br></div><div>Regards,</div><div>Bryan.</div>