1eb250e17d
When node tree `A` is not in the tree, `remove_child(B)` will not automatically clean up the owners of `B` and `B`'s child nodes. This is convenient for implementing operations like `replace_by()`, but may have hidden dangers when manipulating the rest of the tree `A`. This commit makes it safe to manipulate the rest of `A` after freeing `B`.