# Module type Interval_intf.Gen_set

    module type Gen_set = sig .. end

    type 'a t

    type 'a bound

    type 'a interval

    val create : ('a bound * 'a bound) list ->
           'a t

    val create_from_intervals : 'a interval list -> 'a t

    val contains : 'a t -> 'a bound -> bool

    val contains_set : container:'a t ->
           contained:'a t -> bool

    val ubound_exn : 'a t -> 'a bound

    val lbound_exn : 'a t -> 'a bound

    val ubound : 'a t -> 'a bound option

    val lbound : 'a t -> 'a bound option