It might be good to be more explicit about how the field numbers are assigned. From a brief experiment, it seems like there's not a deterministic
relationship between a struct and its wire representation, and instead the generated field numbers are taken from the generated code file
when it's present. So ISTM that any user of this must be very careful to preserve that file, and realise that it's not OK to generate
the codec code for a type independently.
I'd also suggest that it would be good to fully document the syntax and explain the trade-offs of this format and when
it might or might not be appropriate to use.
One other question: how are the type numbers maintained as stable entities over time?
cheers,
rog.