sig type spec = Unit of (unit -> unit) | Bool of (bool -> unit) | Set of bool Stdlib.ref | Clear of bool Stdlib.ref | String of (string -> unit) | Set_string of string Stdlib.ref | Int of (int -> unit) | Set_int of int Stdlib.ref | Float of (float -> unit) | Set_float of float Stdlib.ref | Tuple of Arg.spec list | Symbol of string list * (string -> unit) | Rest of (string -> unit) | Rest_all of (string list -> unit) | Expand of (string -> string array) 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_dynamic : (Arg.key * Arg.spec * Arg.doc) list Stdlib.ref -> Arg.anon_fun -> Arg.usage_msg -> unit val parse_argv : ?current:int Stdlib.ref -> string array -> (Arg.key * Arg.spec * Arg.doc) list -> Arg.anon_fun -> Arg.usage_msg -> unit val parse_argv_dynamic : ?current:int Stdlib.ref -> string array -> (Arg.key * Arg.spec * Arg.doc) list Stdlib.ref -> Arg.anon_fun -> string -> unit val parse_and_expand_argv_dynamic : int Stdlib.ref -> string array Stdlib.ref -> (Arg.key * Arg.spec * Arg.doc) list Stdlib.ref -> Arg.anon_fun -> string -> unit val parse_expand : (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 usage_string : (Arg.key * Arg.spec * Arg.doc) list -> Arg.usage_msg -> string val align : ?limit:int -> (Arg.key * Arg.spec * Arg.doc) list -> (Arg.key * Arg.spec * Arg.doc) list val current : int Stdlib.ref val read_arg : string -> string array val read_arg0 : string -> string array val write_arg : string -> string array -> unit val write_arg0 : string -> string array -> unit end