Closed vocabulary for argument value types: every variant names a
type explicitly present in the app, so the reference table never
lists a type that does not exist. Shapes ($var targets, KEY=value
pairs) are not types: the central validator only checks value types
and arity, while each command’s lower enforces its own shapes with
command-specific errors.
ArgType::Any is the single exception: it renders as <any>,
visibly a placeholder rather than a type name.
ArgType::OneOf renders its inline options, likewise self-describing.
Single-token KEY=value split for direct lower_command callers and
exotic keys the grammar cannot classify (single tokens only — no whitespace
reassembly, so the quoted-space corruption class cannot arise here).
Returns Ok(None) when there is no =.
Validate positional args against a command’s declared specs.
Missing required positionals, statically-known type violations, and
trailing positionals beyond a fixed-arity spec all fail here;
templates, variables, and fragments defer to the runtime resolvers.
A trailing Rest spec absorbs any number of positionals.