module Dict
 
open System.Collections.Generic

// Converts seq of key - value pairs to mutable Dictionary
let ofSeq (src:seq<'a * 'b>) = 
    let d = new Dictionary<'a, 'b>()
    for (k,v) in src do
        d.Add(k,v)
    d

// get a seq of key-value pairs for easy iteration with for (k,v) in d do...
let pairs (d:Dictionary<'a, 'b>) =
    seq {
        for kv in d do
            yield (kv.Key, kv.Value)
    }