functor   (S : sig          module Key :            sig              type t              val of_string : string -> Arg_helper.Make.Key.t              module Map :                sig                  type key = t                  type +'a t                  val empty : 'a t                  val is_empty : 'a t -> bool                  val mem : key -> 'a t -> bool                  val add : key -> '-> 'a t -> 'a t                  val singleton : key -> '-> 'a t                  val remove : key -> 'a t -> 'a t                  val merge :                    (key -> 'a option -> 'b option -> 'c option) ->                    'a t -> 'b t -> 'c t                  val union :                    (key -> '-> '-> 'a option) -> 'a t -> 'a t -> 'a t                  val compare : ('-> '-> int) -> 'a t -> 'a t -> int                  val equal : ('-> '-> bool) -> 'a t -> 'a t -> bool                  val iter : (key -> '-> unit) -> 'a t -> unit                  val fold : (key -> '-> '-> 'b) -> 'a t -> '-> 'b                  val for_all : (key -> '-> bool) -> 'a t -> bool                  val exists : (key -> '-> bool) -> 'a t -> bool                  val filter : (key -> '-> bool) -> 'a t -> 'a t                  val partition : (key -> '-> bool) -> 'a t -> 'a t * 'a t                  val cardinal : 'a t -> int                  val bindings : 'a t -> (key * 'a) list                  val min_binding : 'a t -> key * 'a                  val max_binding : 'a t -> key * 'a                  val choose : 'a t -> key * 'a                  val split : key -> 'a t -> 'a t * 'a option * 'a t                  val find : key -> 'a t -> 'a                  val map : ('-> 'b) -> 'a t -> 'b t                  val mapi : (key -> '-> 'b) -> 'a t -> 'b t                end            end          module Value :            sig type t val of_string : string -> Arg_helper.Make.Value.t end        end->   sig     type parsed     val default : S.Value.t -> Arg_helper.Make.parsed     val set_base_default :       S.Value.t -> Arg_helper.Make.parsed -> Arg_helper.Make.parsed     val add_base_override :       S.Key.t ->       S.Value.t -> Arg_helper.Make.parsed -> Arg_helper.Make.parsed     val reset_base_overrides :       Arg_helper.Make.parsed -> Arg_helper.Make.parsed     val set_user_default :       S.Value.t -> Arg_helper.Make.parsed -> Arg_helper.Make.parsed     val add_user_override :       S.Key.t ->       S.Value.t -> Arg_helper.Make.parsed -> Arg_helper.Make.parsed     val parse :       string ->       help_text:string ->       update:Arg_helper.Make.parsed Pervasives.ref -> unit     type parse_result = Ok | Parse_failed of exn     val parse_no_error :       string ->       update:Arg_helper.Make.parsed Pervasives.ref ->       Arg_helper.Make.parse_result     val get : key:S.Key.t -> Arg_helper.Make.parsed -> S.Value.t   end