  We present a general transformation for combining a constant number of binary
search tree data structures (BSTs) into a single BST whose running time is
within a constant factor of the minimum of any "well-behaved" bound on the
running time of the given BSTs, for any online access sequence.
  (A BST has a well behaved bound with $f(n)$ overhead if it spends at most
\bigoh{f(n)} time per access and its bound satisfies a weak sense of closure
under subsequences.) In particular, we obtain a BST data structure that is
\bigoh{\log\log n} competitive, satisfies the working set bound (and thus
satisfies the static finger bound and the static optimality bound), satisfies
the dynamic finger bound, satisfies the unified bound with an additive
\bigoh{\log\log n} factor, and performs each access in worst-case \bigoh{\log
n} time.
