Operations like "go up the stack", goes towards leaf. Hopefully unique.
"Down" the stack, uses a "conventional" linearisation
Stack reordering op ? auto adjust deps
+
+
+When merging, we need to DTRT with our metadata.
+So we do this by running write-tree/read-tree etc. ourselves.
+For a source we're merging from, we make a version where the
+metadata we shouldn't be merging is removed.