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