Foundational primitive types shared by every other crate in the workspace - the value enum, type enum, type
constraints, the source-fragment carrier used in diagnostics, the error and diagnostic machinery, and the parameter
binding shape used at the wire boundary. This crate is the bottom of the dependency graph; nothing here depends on
core or any other ReifyDB crate.
Anything that wants a stable representation of a column value, a typed identifier, a parameter list, or a
diagnostic anchor uses this crate. The reason it sits below core rather than inside it is to break what would
otherwise be a cycle: core itself needs values and diagnostics.
Invariant: types declared here are wire-stable and on-disk-stable. Adding a variant to Type or Value is a
workspace-wide change that requires bumping wire-format and storage encodings; rearranging the existing variants
silently corrupts persisted data and cross-version replication.