sig
  type 'a t
  val sexp_of_t :
    ('a -> Std_internal.Sexp.t) -> 'a Interval_set.t -> Std_internal.Sexp.t
  val t_of_sexp :
    (Std_internal.Sexp.t -> 'a) -> Std_internal.Sexp.t -> 'a Interval_set.t
  val create : ('a * 'a) list -> 'a Interval_set.t
  val contains : 'a Interval_set.t -> 'a -> bool
  val contains_set :
    container:'a Interval_set.t -> contained:'a Interval_set.t -> bool
  val ubound : 'a Interval_set.t -> 'a
  val lbound : 'a Interval_set.t -> 'a
end