anchor.diff:              else (* rotate left *)
                   mk (mk t1 k v t2'.Left) t2'.Key t2'.Value t2'.Right
           else
  -            if  t1h > t2h + 2 then (* left is heavier than right *)
  +            if  t1h > t2h + tolerance then (* left is heavier than right *)
                   let t1' = asNode(t1)
                   (* one of the nodes must have height > height t2 + 1 *)
                   if height t1'.Right > t2h + 1 then 
  
positive.code:     let current i =
          if i.started then
              match i.stack with
              | []            -> alreadyFinished()
              | m :: _ ->
                  match m with
                  | :? MapTreeNode<'Key, 'Value> -> failwith "Please report error: Map iterator, unexpected stack for current"
  
negative.code:     let rebalance t1 (k: 'Key) (v: 'Value) t2 : MapTree<'Key, 'Value> =
          let t1h = height t1
          let t2h = height t2 
          if  t2h > t1h + tolerance then (* right is heavier than left *)
              let t2' = asNode(t2)
              (* one of the nodes must have height > height t1 + 1 *)
              if height t2'.Left > t1h + 1 then  (* balance left: combination *)
  