Right now all types are simple structs with public fields, which is no good for future evolutions of the library (i.e., new field = breaking change).
Some possible ideas to explore:
- Automatically derive builder interfaces
- Mark all types as
#[non_exhaustive]