/// <summary>
/// An heap min or max depending of the given key comparer.
/// The goal is to have a set of data and be able to get the value associated with the min (or max) key value.
/// </summary>
type Heap<'k, 'v> (kComparer : IComparer<'k>) =
/// <summary>
/// An heap min or max depending of the given key comparer.
/// The goal is to have a set of data and be able to get the value associated with the min (or max) key value.
/// </summary>
type Heap<'k, 'v> (kComparer : IComparer<'k>) =