sig
  type 'a t
  val make_empty : leq:('-> '-> bool) -> 'Aux.PRIOQUEUE.t
  val of_list : leq:('-> '-> bool) -> 'a list -> 'Aux.PRIOQUEUE.t
  val insert : 'Aux.PRIOQUEUE.t -> '-> 'Aux.PRIOQUEUE.t
  val peek : 'Aux.PRIOQUEUE.t -> 'a
  val extract : 'Aux.PRIOQUEUE.t -> 'a * 'Aux.PRIOQUEUE.t
  val map :
    leq:('-> '-> bool) ->
    monotone:('-> 'b) -> 'Aux.PRIOQUEUE.t -> 'Aux.PRIOQUEUE.t
  exception Queue_is_empty
  val is_empty : 'Aux.PRIOQUEUE.t -> bool
end