Peter Geoghegan suggested [1] moving rbtree.c to src/backend/lib, which 
I think makes a lot of sense. Now that we have several other general 
purpose data structures in src/backend/lib (linked lists, a binary heap, 
and a pairing heap), rbtree.c would definitely be better placed in 
src/backend/lib, too.
The usual objection to moving things is that it makes back-patching 
harder. It also might break third-party code that use it (since 
presumably we would also move the .h file). Nevertheless, I feel the 
advantages outweigh the disadvantages in this case.
Any objections?
- Heikki