Module Arg
type spec =
| Unit of unit -> unit
| Bool of bool -> unit
| String of string -> unit
| Int of int -> unit
| Float of float -> unit
| Tuple of 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 : (key * spec * doc) list -> anon_fun -> usage_msg -> unit
val parse_argv : ?current:int Pervasives.ref -> string array -> (key * spec * doc) list -> anon_fun -> usage_msg -> unit
val parse_argv_dynamic : ?current:int Pervasives.ref -> string array -> (key * spec * doc) list Pervasives.ref -> anon_fun -> string -> unit
exception Help of string
exception Bad of string
val usage : (key * spec * doc) list -> usage_msg -> unit
val usage_string : (key * spec * doc) list -> usage_msg -> string
val align : (key * spec * doc) list -> (key * spec * doc) list