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