open OrderedSig module type Heap = sig module Element : Ordered type heap val empty : heap val is_empty : heap -> bool val insert : Element.t -> heap -> heap val merge : heap -> heap -> heap val find_min : heap -> Element.t val delete_min : heap -> heap end |