定義自体は再帰してても大丈夫じゃない?