ハード的なことは自分はよう知らんが、純粋関数のみで書いたところは、筋の良い関数への置き換えが利いてくれる、てことなのだろう。
知る限りだと、map、fold、filter、zipみたいな基礎的な高階関数と、配列更新はupdate関数を使っとけばその辺が勝手にかかるみたい。

>>457の例は、sumはfoldで、zipWithはzipとmap。

速度ガチ勢は満足しないだろうが、宣言的にやってる割に速度を出したければ、この辺りを気をつけてれば良い印象。

逆に気をつけないと、相当遅い。LazyとStrictも気をつける必要がある。