Traversal in an RTBST is unusual due to its asymmetry. Moving from
smaller nodes to larger nodes is easy: we do it with the same algorithm
used in a TBST. Moving the other way is more difficult and inefficient
besides: we have neither a stack of parent nodes to fall back on nor
left threads to short-circuit.

RTBSTs use the same traversal structure as TBSTs, so we can reuse some
of the functions from TBST traversers. We also get a few directly from
the implementations for BSTs. Other than that, everything has to be
written anew here: