個人的な意見だけど、確かに陽に無名関数を使わない方が簡潔になる場合も多
いが、しかし、あるものを使わないのは馬鹿げていると思う。

ところでこの mapM_ の引数だと、
((>>= putStr . map toLower) . readFile)
と書ける。
その方が綺麗だと思うかどうかは人によると思うが、個人的にはどちらにせよ
新しい演算子を作るほどではない気がする。