Leftist Heaps
Implementation following Okasaki's book.
type 'a iter = ('a -> unit) -> unit
type 'a gen = unit -> 'a option
type 'a ktree = unit -> [ `Nil | `Node of 'a * 'a ktree list ]
type 'a printer = Stdlib.Format.formatter -> 'a -> unit
module type S = sig ... end
A convenient version of Make
that take a TOTAL_ORD
instead of a partially ordered module. It allow to directly pass modules that implement compare
without implementing leq
explicitly