<div dir="ltr">We can&#39;t just upgrade those classes to be type family based, as this destroys their support for polymorphic recursion. <div><br></div><div>We could write another class though. </div><div><br></div><div>The question is if that class belongs in base or in some other package, as it takes is pretty far afield of anything purporting to be portable.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Sep 11, 2013 at 9:35 AM, Duncan Coutts <span dir="ltr">&lt;<a href="mailto:duncan.coutts@googlemail.com" target="_blank">duncan.coutts@googlemail.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">On Thu, 2013-09-05 at 18:51 -0400, Edward Kmett wrote:<br>
&gt; The maintainers for bytestring are still listed as Don Stewart and Duncan<br>
&gt; Coutts on the package, and it doesn&#39;t seem to fall the list of core<br>
&gt; packages per <a href="http://www.haskell.org/haskellwiki/Library_submissions" target="_blank">http://www.haskell.org/haskellwiki/Library_submissions</a> so I<br>
&gt; suppose it would come down to talking one of them into taking the patch.<br>
<br>
</div>Yes, I&#39;m happy to consider pull requests.<br>
<br>
<a href="https://github.com/haskell/bytestring/" target="_blank">https://github.com/haskell/bytestring/</a><br>
<br>
<br>
I should say that I start off sceptical about any additions to this API.<br>
As Raymond Chen says, each new feature starts off with -100 points.<br>
<br>
For mapM etc, personally I think a better solution would be if<br>
ByteString and Text and other specialised containers could be an<br>
instance of Foldable/Traversable. Those classes define mapM etc but<br>
currently they only work for containers that are polymorphic in their<br>
elements, so all specialised containers are excluded. I&#39;m sure there<br>
must be a solution to that (I&#39;d guess with type families) and that would<br>
be much nicer than adding mapM etc to bytestring itself. We would then<br>
just provide efficient instances for Foldable/Traversable.<br>
<span class="HOEnZb"><font color="#888888"><br>
Duncan<br>
<br>
</font></span></blockquote></div><br></div>