sig
type counter
exception OVERFLOW
val create : unit -> Counter.counter
val create_with : int -> Counter.counter
val set : Counter.counter -> int -> unit
val inc : Counter.counter -> unit
val inc_by : Counter.counter -> int -> unit
val dec : Counter.counter -> unit
val next : Counter.counter -> int
val value : Counter.counter -> int
end