the definitions: edit any body and watch the hashes move
the Merkle DAG: each node is a definition, edges point to its dependencies
Every definition is stored under the hash of its content and its dependencies' hashes, a Merkle DAG. Change one function and only its hash and the hashes above it move; unrelated code keeps its exact address. Two definitions with identical content collapse to one hash, so the graph dedups by meaning, not by name.