`sig
type spec =
Unit of (unit -> unit)
| Set of bool Pervasives.ref
| Clear of bool Pervasives.ref
| String of (string -> unit)
| Int of (int -> unit)
| Float of (float -> unit)
| Rest of (string -> unit)
val parse :
(string * Arg.spec * string) list -> (string -> unit) -> string -> unit
val parse_argv :
string array ->
(string * Arg.spec * string) list -> (string -> unit) -> string -> unit
exception Bad of string
val usage : (string * Arg.spec * string) list -> string -> unit
val current : int Pervasives.ref
end`