アクションを使った再帰
ちょっと手直し