sig
  type id_gen
  val create : int -> Id.id_gen
  val init : Id.id_gen -> int -> unit
  val next : Id.id_gen -> int
  val top : Id.id_gen -> int
end