anchor.diff:  // one entry. So use two hash tables: one for the main entries and one for the overflow.
   [<Sealed>]
   type internal HashMultiMap<'Key,'Value>(n: int, hasheq: IEqualityComparer<'Key>) = 
  -    let firstEntries = new Dictionary<_,_>(n,hasheq);
  -    let rest = new Dictionary<_,_>(3,hasheq);
  +    let firstEntries = Dictionary<_,_>(n,hasheq)
  +    let rest = Dictionary<_,_>(3,hasheq)
    
  -    new (hasheq : IEqualityComparer<'Key>) = new HashMultiMap<'Key,'Value>(11, hasheq)
  +    new (hasheq : IEqualityComparer<'Key>) = HashMultiMap<'Key,'Value>(11, hasheq)
       new (seq : seq<'Key * 'Value>, hasheq : IEqualityComparer<'Key>) as x = 
           new HashMultiMap<'Key,'Value>(11, hasheq)
           then seq |> Seq.iter (fun (k,v) -> x.Add(k,v))
   
  -    member x.GetRest(k) = 
  +    member x.GetRest(k) =
           let mutable res = []
           let ok = rest.TryGetValue(k,&res)
           if ok then res else []
  
positive.code:         let mutable res = acc
          for kvp in firstEntries do
              res <- f kvp.Key kvp.Value res
              match x.GetRest(kvp.Key)  with
              | [] -> ()
              | rest -> 
                  for z in rest do
  
negative.code:     member x.Iterate(f) =  
          for kvp in firstEntries do
              f kvp.Key kvp.Value
              match x.GetRest(kvp.Key) with
              | [] -> ()
              | rest -> 
                  for z in rest do
  