sig   val unmash : ?unmash_gnu:bool -> string list -> string list   val ungnu : string list -> string list   val foldargv :     ?nullstdin:bool ->     ?stdin:string ->     ?argv:string array -> ?with0:bool -> ('-> string -> 'a) -> '-> 'a   val argvlist : unit -> string list   exception Syntax of string   exception Unset of string   exception Undefined of string   exception NYI   val syntax : ('a, unit, string, 'b) Pervasives.format4 -> 'a   module Valid :     sig       module CS :         sig           type elt = Char.t           type t = Set.Make(Char).t           val empty : t           val is_empty : t -> bool           val mem : elt -> t -> bool           val add : elt -> t -> t           val singleton : elt -> t           val remove : elt -> t -> t           val union : t -> t -> t           val inter : t -> t -> t           val diff : t -> t -> t           val compare : t -> t -> int           val equal : t -> t -> bool           val subset : t -> t -> bool           val iter : (elt -> unit) -> t -> unit           val fold : (elt -> '-> 'a) -> t -> '-> 'a           val for_all : (elt -> bool) -> t -> bool           val exists : (elt -> bool) -> t -> bool           val filter : (elt -> bool) -> t -> t           val partition : (elt -> bool) -> t -> t * t           val cardinal : t -> int           val elements : t -> elt list           val min_elt : t -> elt           val max_elt : t -> elt           val choose : t -> elt           val split : elt -> t -> t * bool * t           val find : elt -> t -> elt           val map : (elt -> elt) -> t -> t           val replace : elt -> elt -> t -> t           val of_list : elt list -> t           val to_list : t -> elt list         end       val blanks : Kwdeprecated.Kwarg.Valid.CS.t       val split : ?_tr:'-> ?merge:bool -> string -> string -> string list       val nyi : '-> 'b       val set : '-> bool       val any : '-> bool       val notnull : string -> bool       val notblank : string -> bool       val noblanks : string -> bool       val int : string -> bool       val nat : string -> bool       val whole : string -> bool       val within : int -> int -> string -> bool       val exists : string list -> bool       val directory : string list -> bool     end   val one : ('-> 'b) -> 'a list -> 'b   val all : ('-> bool) -> 'a list -> bool   val no : ('-> bool) -> 'a list -> bool   type rep =       Set     | One of string option     | Any of string list     | N of (int * string list)   type spec = {     name : string;     short : string;     long : string;     rep : Kwdeprecated.Kwarg.rep;     valid : string list -> bool;     meta : string;     text : string;   }   val spec : Kwdeprecated.Kwarg.spec   val shortopts : Kwdeprecated.Kwarg.spec list -> string   val opt_get : (string, 'a) Hashtbl.t -> string -> 'a   val opt_get1 : (string, 'a list) Hashtbl.t -> string -> 'a   val opt_set : (string, 'a list) Hashtbl.t -> string -> bool   val help : Kwdeprecated.Kwarg.spec list -> string list   val getopt :     ?size:int ->     Kwdeprecated.Kwarg.spec list ->     string list -> (string, string list) Hashtbl.t * string list end