If you had the following scenario, you would run into equality problems:
- Open 2 cursors on element "a"
- Update element "a", making a copy of the tree
- Check the equality of the two cursors
One cursor would revalidate itself in the equality operator while the other would remain stale, causing incorrect results.