anchor.diff:      
       sm.size <- size
       sm.values <- values
  -    if sm.size > 0 then sm.SetRkLast(sm.GetKeyByIndex(sm.size - 1))
  +    if sm.size > 0 then sm.SetRkLast(sm.GetKeyByIndexUnchecked(sm.size - 1))
       sm
   
     /// Create a SortedMap using the first `size` elements of the provided keys and values.
  
positive.code:         if keepOrderVersion then decrement &this.nextOrderVersion
          exitWriteLockIf &locker true
      
    // TODO!! move to RemoveMany EQ case, add orderVersion interlocked increments
    member private this.RemoveAt(index):unit =
      if uint32 index >= uint32 this.size then raise (ArgumentOutOfRangeException("index"))
      let newSize = this.size - 1
  
negative.code:             if this.orderVersion <> this.nextOrderVersion then Environment.FailFast("this.orderVersion <> this.nextOrderVersion in Item setter")
              #endif
  
  
    member this.Add(key, value) : unit =
      if isKeyReferenceType && EqualityComparer<'K>.Default.Equals(key, Unchecked.defaultof<'K>) then raise (ArgumentNullException("key"))
      
  