new (k, v) = { key = k; value = v }
override this.ToString () = sprintf "%A -> %A" this.key this.value
+/// <summary>
+/// An heap min or max depending of the comparer.
+/// The goal is to have a set of data and be able to get the value associated with the min (or max) key.
+/// </summary>
type Heap<'k, 'v> (kComparer : IComparer<'k>) =
let a = List<Node<'k, 'v>>()