One location in the source text: the index reached, and the row and
column that index sits at. It is the same data TypeScript carries as
the loose sI/rI/cI fields on both Point and Token
(ts/src/lexer.ts), and as the ScanOut record its scan driver writes
back — naming it once is what keeps those uses in step.
Lazy token value callback, evaluated only when a parser action asks for
the token’s semantic value. This is the Rust counterpart of the canonical
TokenValFunc(rule, context) => value extension point.