Haskell の解説を見ると呪文のようにループは再帰があればって書いてあるけど
本当はループ欲しいんじゃないの?