末尾再帰のコードは抽象化されて高階関数使うライブラリ関数になってるから
わざわざ自分で書くことはそれほど多くない。