`sig
type spec =
Unit of (unit -> unit)
| Bool of (bool -> unit)
| Set of bool Pervasives.ref
| Clear of bool Pervasives.ref
| String of (string -> unit)
| Set_string of string Pervasives.ref
| Int of (int -> unit)
| Set_int of int Pervasives.ref
| Float of (float -> unit)
| Set_float of float Pervasives.ref
| Tuple of Arg.spec list
| Symbol of string list * (string -> unit)
| Rest of (string -> unit)
type key = string
type doc = string
type usage_msg = string
type anon_fun = string -> unit
val parse :
(Arg.key * Arg.spec * Arg.doc) list ->
Arg.anon_fun -> Arg.usage_msg -> unit
val parse_argv :
?current:int Pervasives.ref ->
string array ->
(Arg.key * Arg.spec * Arg.doc) list ->
Arg.anon_fun -> Arg.usage_msg -> unit
exception Help of string
exception Bad of string
val usage : (Arg.key * Arg.spec * Arg.doc) list -> Arg.usage_msg -> unit
val align :
(Arg.key * Arg.spec * Arg.doc) list ->
(Arg.key * Arg.spec * Arg.doc) list
val current : int Pervasives.ref
end`