Sourcetype ('a, 'b) t = private | Leaf| Node of ('a, 'b) t * int * 'b * ('a, 'b) t * int
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 = | Head of int * 'b * int * 'b * ('a, 'b) t| Tail of int * 'b| Done