Haskell入門者です。

Haskellレベルで(IOでない)状態を扱うようなコードを書くときは積極的にStateモナドを
使うべきでしょうか。それとも引数をループで回すだけでよいでしょうか?

Stateモナドの使い方がパッと見ただけでは良く分からなかったので...。