anchor.diff:      member this.CopyTo(array:KeyValuePair<'TKey, 'TValue>[], arrayIndex:int) =
           this.AsList(fun node -> new KeyValuePair<'TKey, 'TValue>(node.Key, node.Value)).CopyTo(array, arrayIndex)
   
  -    member this.GetEnumerator() : IEnumerator<KeyValuePair<'TKey, 'TValue>> =
  -        let backingList = this.AsList<KeyValuePair<'TKey, 'Value>>(fun node -> new KeyValuePair<'TKey, 'TValue>(node.Key, node.Value));
  -        let tiedList = new TiedList<KeyValuePair<'TKey, 'Value>, 'TKey, 'TValue>(this, this.version, backingList)
  -        tiedList.GetEnumerator()
  -
       member private this.AsList<'TEnumerator>(selector:SplayTreeNode<'TKey, 'TValue>->'TEnumerator) : IList<'TEnumerator> =
           let result = new List<'TEnumerator>(this.count)
           if this.root <> null then
  
positive.code:         list.Add(selector(node))
          if node.Right <> null then this.PopulateList(node.Right, list, selector)
  
  
negative.code:     member this.Clear() =
          raise (new NotSupportedException())
  
      member this.Contains(item) =
          this.CheckVersion()
          backingList.Contains(item)
  
      member this.CopyTo(array, arrayIndex) =
          this.CheckVersion()
          backingList.CopyTo(array, arrayIndex)
  
  