# Module type Interval_intf.S

    module type S = sig .. end

    type t

    type bound

    type 'a t_ = t

    type 'a bound_ = bound

    include Interval_intf.Gen

    val create : bound -> bound -> t

    type 'a poly_t

    val to_poly : t -> bound poly_t

    type 'a poly_set

    module Set: sig .. end
        with type 'a interval := 'a t_

    val t_of_sexp : Sexplib.Sexp.t -> t

    val sexp_of_t : t -> Sexplib.Sexp.t

    val bin_t : t Bin_prot.Type_class.t

    val bin_read_t : t Bin_prot.Read.reader

    val __bin_read_t__ : (int -> t) Bin_prot.Read.reader

    val bin_reader_t : t Bin_prot.Type_class.reader

    val bin_size_t : t Bin_prot.Size.sizer

    val bin_write_t : t Bin_prot.Write.writer

    val bin_writer_t : t Bin_prot.Type_class.writer