Validate a variant and return a frozen copy that holds only the fields it
names, always in the same order, or undefined for the provider's default.
Throws a TypeError for anything else: an unknown session or adjustment, a
blank or overlong currency or unit, or a field this build does not know,
which could only be a variant from a newer build that this one would
silently serve wrong.
Validate a variant and return a frozen copy that holds only the fields it names, always in the same order, or undefined for the provider's default. Throws a TypeError for anything else: an unknown session or adjustment, a blank or overlong currency or unit, or a field this build does not know, which could only be a variant from a newer build that this one would silently serve wrong.