An ORDERED list of enum members, each at most once, in the caller's order. The sibling of
enumSet, and the two differences are the whole reason both exist:
Order is CONTENT here.enumSet re-emits in the vocabulary's declared order because
"which scopes are on" has no order an operator can observe. A stage WALK is nothing but its
order, so this codec preserves what it was handed, verbatim.
A repeat is REFUSED, not folded. In a set a repeat is harmless. In a sequence it is a
question with no answer — which of the two positions did the caller mean — so it comes back
as DUPLICATE_MEMBER naming the member and the index, rather than a shorter list that reads
as applied.
The values published for OPTIONS are the vocabulary's MEMBERS, which is what a client
reorders; the legal field values are its orderings.
An ORDERED list of enum members, each at most once, in the caller's order. The sibling of enumSet, and the two differences are the whole reason both exist:
enumSetre-emits in the vocabulary's declared order because "which scopes are on" has no order an operator can observe. A stage WALK is nothing but its order, so this codec preserves what it was handed, verbatim.DUPLICATE_MEMBERnaming the member and the index, rather than a shorter list that reads as applied.The
valuespublished for OPTIONS are the vocabulary's MEMBERS, which is what a client reorders; the legal field values are its orderings.