This will leave garbage around if there are nodes that were deleted in newSubtree. I'm not 100% sure yet, but having extra nodes in nodeMap *might* impact the new differ as well.