sig
  type t
  val create : int -> IntCollection.t
  val is_empty : IntCollection.t -> bool
  val size : IntCollection.t -> int
  val add : int -> IntCollection.t -> unit
  val remove : int -> IntCollection.t -> unit
  val random : Random.State.t -> IntCollection.t -> int option
  val fold : (int -> '-> 'a) -> IntCollection.t -> '-> 'a
  val print : Format.formatter -> IntCollection.t -> unit
end