Thirdly, I'm not sure what you mean when you say that @ViewBuilder is "not valid SwiftUI". It's a public piece of the API which has a very specific effect. My understanding is that my usage of it here is exactly the type of situation where explicitly spelling out @ViewBuilder (instead of allowing it to be inferred on the body property of a View) is recommended. What it allows for is producing views using language constructs like if and switch.
Topic:
UI Frameworks
SubTopic:
SwiftUI