ys」に書き換えたくなるという話。ys」のようなコードに変換されるので、いちいち手で書き換える必要はない。GHCではリストに関する有用な書き換え規則がRULESプラグマとして大量に定義されている。最適化のためにRULESプラグマを大量に用いるというのはやはりアドホックだと私は思うし、こういうことが出来るのはリストが標準のライブラリで、かつ非常によく使われるデータ構造だからだろう。これらの規則と同等の規則を自分で作ったデータ型に対して定義するのは非常に大変で、しかもGHCの最適化のフェーズについて理解している必要がある。厳密には等しくないという話がある。