The key items we need to accomplish is
- Find the builder type
- Pass user arguments (Span, culture, etc ...) to builder ctor
- Pass compiler arguments (hole count, fixed length) to the builder ctor
- Allow for non-string results
- Binary compatibility: let existing code evolve without breaking existing callers.
Consider if we allowed developers to define methods like the following