ScalaやOcamlを仕事で使ってる所なら普通に再帰使いそうなもんだが