Heap
Heaps
module type Ordered = sig ... end
module type S = sig ... end
exception EmptyHeap
module Functional (X : Ordered) : S with type elt = X.t