sig
  type 'a elt_
  type 'a heap
  val empty : 'a Reins.Heaps.Heap_.heap
  val is_empty : 'a Reins.Heaps.Heap_.heap -> bool
  val singleton : 'a Reins.Heaps.Heap_.elt_ -> 'a Reins.Heaps.Heap_.heap
  val insert :
    'a Reins.Heaps.Heap_.elt_ ->
    'a Reins.Heaps.Heap_.heap -> 'a Reins.Heaps.Heap_.heap
  val merge :
    'a Reins.Heaps.Heap_.heap ->
    'a Reins.Heaps.Heap_.heap -> 'a Reins.Heaps.Heap_.heap
  val find_min : 'a Reins.Heaps.Heap_.heap -> 'a Reins.Heaps.Heap_.elt_
  val delete_min : 'a Reins.Heaps.Heap_.heap -> 'a Reins.Heaps.Heap_.heap
end