再帰呼び出しであることをインタプリタが判断して、
関数の呼び方を変えてる、ということだよね

自分で自分を呼ぶなら判断は楽だろうけど、
下請け関数が間に入っても動くんだろうか