sig
type elt = Variable.t
type t
val create : elt -> t
val length : t -> int
val is_empty : t -> bool
val mem : t -> elt -> bool
val head : t -> elt
val enqueue : t -> elt -> unit
val dequeue : t -> elt
val drop : t -> unit
val priority : t -> elt -> float
val inc_priority : t -> elt -> float -> unit
val scale : t -> float -> unit
end