There are multiple interesting questions here about attempting to define recursive closures in Swift. I think the one with the clearest answers is this post asking the quest