>>23
>>>19
>理解したのは>>9の通りで
>仮定として1かtrueを返したら再帰は止まる仕様になってると推測してる

この推測が間違っているので、いったん忘れて素直にプログラムを読んでみよう