anchor.diff:                  else
                       match right with
                       | Empty ->
  -                        Node (left, right, (x, value), h)
  +                        Node (left, Empty, (x, value), h)
                       | _ ->
                           let (u, v), r = AvlTree.ExtractMin right
                           if pred u = value then
  
positive.code:         | _, Empty ->
              AvlTree.Insert (comparer, l, root)
          | Node (ll, lr, lx, lh), Node (rl, rr, rx, rh) ->
              if lh > rh + 2u then
                  AvlTree.Balance (comparer, ll, AvlTree.Join comparer root lr r, lx)
              else if rh > lh + 2u then
                  AvlTree.Balance (comparer, AvlTree.Join comparer root l rl, rr, rx)
              else
                  AvlTree.Create (root, l, r)
  
negative.code:             // Either (a) h1,h2 differ by at most 2 - no rebalance needed.
              //        (b) h1 too small, i.e. h1+2 < h2
              //        (c) h2 too small, i.e. h2+2 < h1
              if   h1+balanceTolerance < h2 then
                  // case: b, h1 too small
                  // push t1 into low side of t2, may increase height by 1 so rebalance
                  AvlTree.Rebalance (AvlTree.Balance (comparer, t1, t21, k), t22, k2)
              elif h2+balanceTolerance < h1 then
                  // case: c, h2 too small
                  // push t2 into high side of t1, may increase height by 1 so rebalance
                  AvlTree.Rebalance (t11, AvlTree.Balance (comparer, t12, t2, k), k1)
  