On Fri, Apr 1, 2016 at 1:13 AM, Erik de Castro Lopo <mle+hs@mega-nerd.com> wrote:
Which is the exact problem. I suspect that most people use `forM_` as "assume
the action returns unit" rather than "assume the return value of the action is
ignored".

A review of my code shows I mostly use it as "assume the return value of the action is ignored".

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.
I wouldn't find it to be overly onerous to throw "void" in in those cases though.

I will point out that "void" isn't exported from the Prelude, while "mapM_" is.

-davean