http://itpro.nikkeibp.co.jp/article/COLUMN/20070305/263828/
ここで id は正格であると書かれています。

ghciだと
Prelude> (length . (:[]) . id) undefined
1
Prelude> (length . (:[]) . id $!) undefined
*** Exception: Prelude.undefined
となります。idが正格ならどちらも例外になる気がするのですが、なぜそうならないのでしょう?