sig
  type t
  val make : unit -> t
  val merge : t -> t -> t
  type elt = int list
  val make_in_range : int -> t
  val query : t -> elt
  val incr : t -> t
end