Effective result of matching one alternate. Dynamic error/routing/backtrack
callbacks are resolved into this record before the modifier runs, matching
TypeScript’s AltMatch contract.
One executable action in its exact declaration position. The mature
engines allow named function references and direct callbacks to be mixed;
retaining this sequence avoids losing prepend/append order while keeping
the serialized a/bo/ao/bc/ac lists available for inspection.
Full canonical alternate action. A returned error token aborts the pass;
other returned tokens are ignored by the mature engine and should be
expressed as None here.
Full canonical alternate modifier. next is the pre-routing next-rule
view (Some(current) during open, None during close). The returned
match is the one used for erroring, state mutation, action, and routing.
Canonical rule lifecycle callback (bo/ao/bc/ac). next is the
rule selected for the following pass, or None for the no-rule sentinel;
out is the previous handler’s token result in the same phase.