再帰は確実に終了する根拠がないと使いにくいんだよな。