Module Heap.IntSource

Sourcetype ('a, 'b) t = private
  1. | Leaf
  2. | Node of ('a, 'b) t * int * 'b * ('a, 'b) t * int
Sourceval empty : ('a, 'b) t
Sourceval merge : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t
Sourceval singleton : int -> 'b -> ('a, 'b) t
Sourceval insert : int -> 'b -> ('a, 'b) t -> ('a, 'b) t
Sourceval pop : ('a, 'b) t -> (int * 'b * ('a, 'b) t) option
Sourcetype ('a, 'b) pop2 =
  1. | Head of int * 'b * int * 'b * ('a, 'b) t
  2. | Tail of int * 'b
  3. | Done
Sourceval pop2 : ('a, 'b) t -> ('a, 'b) pop2