anchor.diff:  module internal MapTree = 
     let size x = 
       let rec sizeAux acc (m:MapTree<'a,'b>) =
  -      if obj.ReferenceEquals(m, null) then
  +      if isNull m then
           acc
         else
           match m with
  
positive.code: 
    [<MethodImpl(MethodImplOptions.AggressiveInlining)>]
    let rec add (comparer: KeyComparer<'K>) k v (m:MapTree<'K,'b>) = // was 'V instead of 'K, slightly measleading
        if obj.ReferenceEquals(m, null) then
          MapTree(k,v)
        else
          match m with
  
negative.code:   let empty : MapTree<_,_> = null 
  
    let inline height (m:MapTree<'a,'b>) =
      if isNull m then 0
      else
        match m with
        | :? MapTreeNode<_,_> as mn -> mn.Height
        | _ -> 1
  
    let inline isEmpty m = isNull m
  
    let inline mk l k v r = 
        if isNull l && isNull r then
            MapTree(k,v)
        else 
            let hl = height l 
            let hr = height r 
            let m = max hl hr // if hl < hr then hr else hl 
  