||"Splay trees, due to Sleator and Tarjan, are binary trees
where often accessed items tend to be near the root.
Operations doing a splay are find, find_min, find_max,
add and remove. Other opertations, like fold, iter, elements
leave the tree unchanged.
This implementation of splay uses in-place modification
of the tree."