>>160
必要な状態を持って回るのは普通だと思う。不要な物まで持ってく必要はないけど。
再帰の定石を知りたいなら、Schemeのコードが参考になるんじゃないかと。
CLerは普通loopとかdoとか使うし。

setqは、ローカル変数の宣言次第でまた違うけど、件のコードだとまさにそう。