One canonical lexical token with complete and parser-facing byte ranges.
span covers the full spelling. lexeme excludes sigils and identifier quotes when name resolution needs only the payload; for ordinary tokens the ranges are equal. Both are half-open UTF-8 byte offsets into the same source.