anchor.diff:                 (totalSizeOnMapLookup / float numLookups))
              System.Console.WriteLine("#largestMapSize = {0}, largestMapStackTrace = {1}", largestMapSize, largestMapStackTrace)
   
  -    let MapOne n = 
  +    let MapTree n = 
           report()
           numOnes <- numOnes + 1
           totalSizeOnNodeCreation <- totalSizeOnNodeCreation + 1.0
           MapTree n
   
  -    let MapNode (x, l, v, r, h) = 
  +    let MapTreeNode (x, l, v, r, h) = 
           report()
           numNodes <- numNodes + 1
           let n = MapTreeNode (x, l, v, r, h)
  
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:             else (* rotate left *)
                  mk (mk t1 k v t2'.Left) t2'.Key t2'.Value t2'.Right
          else
              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 
  