sig
  type +'a t
  val empty : 'PriorityQueue.t
  val is_empty : 'PriorityQueue.t -> bool
  val insert : int -> '-> 'PriorityQueue.t -> 'PriorityQueue.t
  val peek : 'PriorityQueue.t -> 'a
  val remove_min : 'PriorityQueue.t -> 'PriorityQueue.t
end