open Id module Range : sig (** [t] is a range of values *) type t val create : int * int -> t (** [create (s, e)] is a range starting at [s] and ending at [e]. *) val collect : t -> ID.t list (** [collect r] is a list containing all elements within the range (inclusive). *) val pp : t -> string (** [pp r] is a pretty string representing [r] *) end