Which of the data model's struct forms a type maps onto.
The two degenerate forms are separated out for the same reason serdeseparates them: a struct wrapping exactly one value is a wrapper, not aone-element tuple, and a struct with nothing in it carries no moreinformation than unit. Both have their own Serializer methods, whosedefaults widen to the general form, so a format that draws no distinctionstill writes what TupleStruct and Record would have written.