Meta Programming Swift with Sourcery
Or Ron

The fact that you have been forced to resort to code generation is a clear sign that Swift isn’t up to the task you’ve set it to.

Code generation is what people resort to when the language isn’t flexible enough. That’s a pretty serious indictment right there.