anchor.diff:              n, l
           | Node (left, r, n, _) ->
               let na, l = AvlTree.DeleteMin left
  -            na, AvlTree.mkt_bal_r (n, left, r)
  +            na, AvlTree.mkt_bal_r (n, l, r)
   
       /// Removes the maximum (greatest) value from an AvlTree,
       /// returning the value along with the updated tree.
  
positive.code:             Node (Empty, Empty, value, 1u)
          | Node (l, r, n, _) ->
              let comparison = comparer.Compare (value, n)
              if comparison = 0 then                              // x = n
                  tree
              elif comparison < 0 then                            // x < n
                  let l' = AvlTree.Insert (comparer, l, value)
                  AvlTree.mkt_bal_l (n, l', r)
              else                                                // x > n
                  let r' = AvlTree.Insert (comparer, r, value)
                  AvlTree.mkt_bal_r (n, l, r')
  
      /// Counts the number of elements in the tree.
      static member Count (tree : AvlTree<'T>) =
  
negative.code:         | Node (_,_,_,h) -> h
  
      /// Returns the absolute difference in heights between two AvlTrees.
      [<Pure>]
      static member private HeightDiff (t1, t2 : AvlTree<'T>) =
          (max (AvlTree.Height t1) (AvlTree.Height t2)) - (min (AvlTree.Height t1) (AvlTree.Height t2))
  
  