Expand description
Source-position newtypes and the Spanned wrapper.
Every AST node in this crate is a Spanned value carrying both a kind
enum and a Span denoting the source range the node was parsed from.
Spans use 1-based line/column numbers and 0-based byte offsets, both
recorded so downstream tools can pick whichever fits their layer.