Handle to an expression in the symbolic world (spec §8.1). In-process hash-consing depends on
creation order, so ExprId is forbidden from cross-process serialization/caching (ADR §6).
Process-wide shared hash-consing pool (spec §8.1/§12.4): maps content hash → ExprId.
The central store is append-only (the symbolic layer is acyclic and resident), concurrency-safe.