ループだってスタック積むこともあるし、そういうときは上限を仕様なりで縛るか、
現実的にそんなデータ使うことはないだろで済ませるかしてるじゃん
ループと再帰はロジックとしては完全に可換なんだから、見た目分かりやすい方を
使うのが正解だよね

配列みたいに単純なデータ構造ならループ使えばいいし、ツリー構造みたいなのは
再帰使えばいい