>>72
これも当てはまる

ループ処理は、物事を数学的に捉えた定義通りに書けることが多いためわかりやすいのですが、Haskellに慣れてくると直接的にループ処理を書くのは避けるようになっていきます。
それは、ループ処理は便利であるのと同じくらい、危険でもあるからです。
停止しないループ処理をうっかり書いてしまうこともあるでしょう。

とくにループ処理を直接書くということは、時に必要となるものの、アセンブラを直接書くような低級な行為と認識されます。
データの構造に依存し、それを気にしたプログラミングを要求されるからです。
理想的にはデータの構造を気にせずに、全体に丸々変換をかけられるような関数だけを組み合わせて望む処理を書きたいのです。

そのために、ループ処理を直接利用せずにどうするかというと、次節で説明する高階関数をうまく利用するようになっていきます。

リストなど多くのループ処理に定義されたデータ構造に対しては、それを便利に利用するための計算パターンが用意されており、それらの計算パターンは高階関数として与えられています。
自分でループを書くのではなく、ループは高階関数がやってくれるようになっています。