>>49
こんなんで辞職に追い込まれないだろw

で、>>45の疑問がわかった気がする。wordsNumの定義を
(f = ¥ ws -> (head ws, length ws) として)

map (f . group . sort . words)

だと思ってるんだな。
String(=[Char])に対して、合成された関数をmapしてるかのように読んでるんだろう。
正しい構文解析はそうではなくて

(map f) . group . sort . words

だというだけの話だ(関数適用の結合は関数合成演算子より強いのでそうなる)。