Functor Leftistheap.Make

module Make: 
functor (X : Set.OrderedType) -> sig .. end
Parameters:
X : Set.OrderedType

type t 
val empty : t
val is_empty : t -> bool
runs in O(1)
val insert : X.t -> t -> t
runs in O(log n)
val min : t -> X.t
runs in O(1)
val extract_min : t -> X.t * t
runs in O(log n)
val merge : t -> t -> t
runs in O(log max(n1, n2))
val fold : (X.t -> 'a -> 'a) -> t -> 'a -> 'a
elements are presented in an arbitrary order
val elements : t -> X.t list
the returned list is not sorted
val of_list : X.t list -> t