The core global engine state. This includes all global definitions as well as any global state that
will persist for the whole session.
A runtime value stack used during evaluation
A delta (or change set) between the current global state and a possible future global state. Deltas
can be applied to the global state to update it to contain both previous state and the state held
within the delta.
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.
Organizes usage messages for various primitives
Tells whether a decl is visible or not