<p dir="ltr">For what it's worth, we made that change in mono-traversable already, although the primary motivation was performance, not safety.</p>
<p dir="ltr"><a href="https://github.com/snoyberg/mono-traversable/issues/28">https://github.com/snoyberg/mono-traversable/issues/28</a><br>
<a href="http://www.yesodweb.com/blog/2014/05/foldable-mapm-maybe-recursive">http://www.yesodweb.com/blog/2014/05/foldable-mapm-maybe-recursive</a></p>
<br><div class="gmail_quote"><div dir="ltr">On Fri, Apr 1, 2016, 2:37 AM Artyom <<a href="mailto:yom@artyom.me">yom@artyom.me</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div>
      <p style="margin:1.2em 0px!important">For me the convenience
        of <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">for_</code>
        (without having to use <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">void</code>)
        is more important than increased safety, but I accept that
        others’ needs are different – sometimes avoiding such nasty
        surprises is incredibly important, sometimes not so, and it
        depends both on the developer and the project.<br>
      </p>
      <p style="margin:1.2em 0px!important">In an ideal world it’d
        probably be an optional warning (which I’d be able to disable,
        just like I do with <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">fwarn-unused-do-bind</code>),
        but I have no idea how hard it would be to implement and I can't
        imagine how it might look anyway.<br>
      </p>
      <p style="margin:1.2em 0px!important">Bottom line: if it will
        result in an error and not a warning (i.e. changing the type of
        <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">mapM_</code>/<code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">forM_</code>/<code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">for_</code>,
        as originally proposed), I’m mildly against this idea.<br>
      </p>
      <div title="MDH:Rm9yIG1lIHRoZSBjb252ZW5pZW5jZSBvZiBgZm9yX2AgKHdpdGhvdXQgaGF2aW5nIHRvIHVzZSBgdm9pZGApIGlzIG1vcmUgaW1wb3J0YW50IHRoYW4gaW5jcmVhc2VkIHNhZmV0eSwgYnV0IEkgYWNj
ZXB0IHRoYXQgb3RoZXJz4oCZIG5lZWRzIGFyZSBkaWZmZXJlbnQg4oCTIHNvbWV0aW1lcyBhdm9p
ZGluZyBzdWNoIG5hc3R5IHN1cnByaXNlcyBpcyBpbmNyZWRpYmx5IGltcG9ydGFudCwgc29tZXRp
bWVzIG5vdCBzbywgYW5kIGl0IGRlcGVuZHMgYm90aCBvbiB0aGUgZGV2ZWxvcGVyIGFuZCB0aGUg
cHJvamVjdC4gSW4gYW4gaWRlYWwgd29ybGQgaXTigJlkIHByb2JhYmx5IGJlIGFuIG9wdGlvbmFs
IHdhcm5pbmcgKHdoaWNoIEnigJlkIGJlIGFibGUgdG8gZGlzYWJsZSwganVzdCBsaWtlIEkgZG8g
d2l0aCBgZndhcm4tdW51c2VkLWRvLWJpbmRgKSwgYnV0IEkgaGF2ZSBubyBpZGVhIGhvdyBoYXJk
IGl0IHdvdWxkIGJlIHRvIGltcGxlbWVudC4gSWYgaXQgd2lsbCByZXN1bHQgaW4gYW4gZXJyb3Ig
YW5kIG5vdCBhIHdhcm5pbmcgKGkuZS4gY2hhbmdpbmcgdGhlIHR5cGUgb2YgYG1hcE1fYC9gZm9y
TV9gL2Bmb3JfYCksIEnigJltIG1pbGRseSBhZ2FpbnN0IHRoaXMgaWRlYS48YnI+4oCLPGJyPjxi
        cj4=" style="min-height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0">​</div>
    </div>
  </div>

_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
</blockquote></div>