f1f1a5aaf8
Realistically, because our btree is protected by CoW checksums, the only place we can end up with a cycle is in our mroot chain. This is convenient, as we don't need our btree traversal state when traversing the mroot chain, so we can put both the tortoise state and btree traversal state into a union, theoretically saving some RAM. Unfortunately stack measurements show no change, even though our mtree traversal in on the hot path. I'm not sure why this is. My best guess is that the RAM savings is beneath the compilation noise floor, since we currently only ever create one of these structs.