No provider sets, no DSL, no runtime reflection. Just Go types and generated code.
Looking for feedback on the approach.