This is a HACK to help Command support both the old AST evaluator and the
new IR evaluator at the same time. It should be removed once we are satisfied with the new
evaluator.
Spans are a global offset across all seen files, which are cached in the engine’s state. The start and
end offset together make the inclusive start/exclusive end pair for where to underline to highlight
a given point of interest.
A temporary extension to the global state. This handles bridging between the global state and the
additional declarations and scope changes that are not yet part of the global scope.
The fundamental error type for the evaluation engine. These cases represent different kinds of errors
the evaluator might face, along with helpful spans to label. An error renderer will take this error value
and pass it into an error viewer to display to the user.