The name `DirtyKey` here is unfortunate since the term is actually `{DirtyKey, SnapNode}`, and use use the name `DirtyKey` elsewhere to refer to just the bare key. Also, while we're talking about `SnapNode` you switch back and forth between `DirtyNode` and `SnapNode` throughout this module. Probably good to be consistent. Something to fix by pre3.