sig type t val make : unit -> t val merge : t -> t -> t type elt val make_in_range : int -> t val query : t -> Immutable_types.IVector.elt val incr : t -> t end