The derived object view: attribute names to values, LAST occurrence winning
— the reading canonicalizeExecuteCommand already applies to a repeated
name (src/execute.ts), so the gate and the analysis cannot disagree about
a duplicate. tokens is where multiplicity survives.
Bare tokens, in order — an id (*1), a where, a find operand — as
SOURCE text. A consumer needing the value reads tokens (see
Argument.value); this list exists so the common "is there an id"
question needs no walk.
?-prefixed query words, in order, verbatim.
Every token decided.