同じ関数でも問題ありません。呼び出しは末尾呼出です。同じ関数の場合、この呼び出しは(再帰)自己末尾呼出です。関数本体中のそれぞれの再帰呼出が末尾呼出なら、この関数は末尾再帰関数です。[sum_iter]末尾再帰関数はしばしば反復関数と呼ばれます。自己末尾呼出をローカルへのジャンプに変換することでしょう。この最適化はあらゆる末尾再帰関数を同等のループに効果的に変換します。おいてループを生成する好ましいアプローチは、一般に末尾再帰関数を使用することです。おける他のプログラミング機能の構文と適合できることが主たる理由です。ループ構文はあまり適合しません。エイト・クイーンパズル。