Typesafe Builder design

I've implemented a type-safe builder in https://github.com/jkelleyrtp/optargs with const-generics. It produces code that scales linearly with the number of fields.

Here's the code that generates the builder:
https://github.com/jkelleyrtp/optargs/blob/07939f4d1a701307d31b9078e25c72761325d4dd/optargs-macro/src/optfn.rs

If you browse the examples with that commit, you can see how it the const parameters move from false to true as required parameters are filled in by the builders. Only when all the const parameters are filled in can the "build" method be used.