anchor.diff:                  let m1 = e1.MoveNext() 
                   let m2 = e2.MoveNext()
                   (m1 = m2) && (not m1 || 
  -                                 (let e1c, e2c = e1.Current, e2.Current
  +                                 (let e1c = e1.Current
  +                                  let e2c = e2.Current
                                     ((e1c.Key = e2c.Key) && (Unchecked.equals e1c.Value e2c.Value) && loop())))
               loop()
           | _ -> false
  
positive.code: 
      [<CompiledName("FindKey")>]
      let findKey predicate (table : Map<_, _>) =
          table |> toSeq |> Seq.pick (fun (k, v) -> if predicate k v then Some k else None)
  
      [<CompiledName("TryFindKey")>]
      let tryFindKey predicate (table : Map<_, _>) =
          table |> toSeq |> Seq.tryPick (fun (k, v) -> if predicate k v then Some k else None)
  
      [<CompiledName("OfList")>]
      let ofList (elements: ('Key * 'Value) list) =
  
negative.code: 
      [<CompiledName("FoldBack")>]
      let foldBack<'Key, 'T, 'State  when 'Key : comparison> folder (table: Map<'Key, 'T>) (state:'State) =
          MapTree.foldBack folder table.Tree state
  
      [<CompiledName("ToSeq")>]
      let toSeq (table: Map<_, _>) =
  