why when table.Count = 1 table iteration functions get more than 1 key-value pairs? And if this is feature how can I expected behavior?
//
let table = new HashMultiMap<string, int> (HashIdentity.Structural)
table.Add("a", 1)
table.Add("a", 1)
table.Add("a", 1)
// now table.Count is one
let reduced = table.Fold (fun k v acc -> (k,v) :: acc) []
let acc = ref []
table.Iterate (fun k v -> acc.contents <- (k,v) :: acc.contents)
//
reduced and acc.contents contains three ("a",1) pairs