I guess the idea being sold by tom, if interpolated, is that for_ is at the sweet spot where it addresses /most/ of our iteration needs while being also friendly to people (as a word, or similar to foreach, in other languages). I am not sure what the prescription follows with that observation. If it is a "maximalist" prescription (not a ad hominen), instinctively I find it hard to swallow. But I think Haskellers all have our own share of maximalism when it comes to the purity. But if the prescription is that for_ should be used in most of the cases, and this is my observation, then that becomes just a mostly stylistic advice. There is also some technical discussion in that thread where for_ may fall short in some cases, but that's a case by case discussion.