functor (C : Types.Mono.Comparable->
  sig
    type t
    type elt = C.t
    type 'a elt_ = elt
    type 'a heap = t
    val empty : 'a heap
    val is_empty : 'a heap -> bool
    val singleton : 'a elt_ -> 'a heap
    val insert : 'a elt_ -> 'a heap -> 'a heap
    val merge : 'a heap -> 'a heap -> 'a heap
    val find_min : 'a heap -> 'a elt_
    val delete_min : 'a heap -> 'a heap
    val to_string : 'a heap -> string
  end