Why can\'t structs have recursive value types in Swift? Is this a temporary limit of the language or is it as intended?
I feel that the ability to declare a binary tree
Enums in Swift support recursive types using the indirect keyword so you can do something like:
indirect
indirect enum Tree { case Node(left: Tree?, right: Tree?, element: T) }
Check out this great blog post A persistent tree using indirect enums in Swift