<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Apr 1, 2016 at 1:13 AM, Erik de Castro Lopo <span dir="ltr"><<a href="mailto:mle+hs@mega-nerd.com" target="_blank">mle+hs@mega-nerd.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Which is the exact problem. I suspect that most people use `forM_` as "assume<br>
the action returns unit" rather than "assume the return value of the action is<br>
ignored".<br></blockquote><div><br></div><div>A review of my code shows I mostly use it as "assume the return value of the action is ignored".</div><div><br></div><div>Many things return data that is sometimes useful, but not always. Rarely do they have an '_' variant or the like to allow you to be more specific.</div><div>I wouldn't find it to be overly onerous to throw "void" in in those cases though.</div><div><br></div><div>I will point out that "void" isn't exported from the Prelude, while "mapM_" is.</div><div><br></div><div>-davean</div></div></div></div>