anchor.diff:          | _, Empty ->
               AvlTree.Insert (comparer, l, root)
           | Node (ll, lr, lx, lh), Node (rl, rr, rx, rh) ->
  -            if lh > rh + 2u then
  +            if lh > rh + balanceTolerance then
                   AvlTree.Balance (comparer, ll, AvlTree.Join comparer root lr r, lx)
  -            else if rh > lh + 2u then
  +            else if rh > lh + balanceTolerance then
                   AvlTree.Balance (comparer, AvlTree.Join comparer root l rl, rr, rx)
               else
                   AvlTree.Create (root, l, r)
  
positive.code:             #endif
  
              let result, _, _ =
                  let head, stream' = AvlTree.ExtractMin stream    
                  diff' input (Some head) stream'
  
              #if DEBUG
              let resultCount = count result
  
negative.code:                         t2r)
              | _ -> failwith "rebalance"
  
          elif t1h > t2h + balanceTolerance then // left is heavier than right
              match t1 with
              | Node (t1l, t1r, t1k, _) ->
                  // one of the nodes must have height > height t2 + 1
  