anchor.diff:              AvlTree.Insert (comparer, l, root)
           | Node (ll, lr, lx, lh), Node (rl, rr, rx, rh) ->
               if lh > rh + balanceTolerance then
  -                AvlTree.Balance (comparer, ll, AvlTree.Join (comparer, lr, r, root), lx)
  +                AvlTree.Balance (ll, AvlTree.Join (comparer, lr, r, root), lx)
               else if rh > lh + balanceTolerance then
  -                AvlTree.Balance (comparer, AvlTree.Join (comparer, l, rl, root), rr, rx)
  +                AvlTree.Balance (AvlTree.Join (comparer, l, rl, root), rr, rx)
               else
                   AvlTree.Create (root, l, r)
   
  
positive.code:         | _ ->
              AvlTree<'T>.CompareStacks (comparer, [s1], [s2])
  
      /// Join two trees together with the specified root element.
      /// Takes two trees representing disjoint sets and combines them, returning
      /// a new balanced tree representing the union of the two sets and the given root element.
  
negative.code:         // Preconditions
          assert (AvlTree.AvlInvariant l)
          assert (AvlTree.AvlInvariant r)
          assert (AvlTree.HeightDiff (l, r) <= (balanceTolerance + 1u))
  
          match l, r with
          | Empty, Empty ->
  