# Functor Arg_helper.Make

    module Make: functor (S : sig
    module Key: sig .. end
    module Value: sig .. endend) -> sig .. end

Parameters: |
`S` | : | `sig module Key : sig type t (** The textual representation of a key must not contain '=' or ','. *) val of_string : string -> t module Map : Map.S with type key = t end module Value : sig type t (** The textual representation of a value must not contain ','. *) val of_string : string -> t end end`

    type parsed

    val default : S.Value.t -> parsed

    val set_base_default : S.Value.t -> parsed -> parsed

    val add_base_override : S.Key.t -> S.Value.t -> parsed -> parsed

    val reset_base_overrides : parsed -> parsed

    val set_user_default : S.Value.t -> parsed -> parsed

    val add_user_override : S.Key.t -> S.Value.t -> parsed -> parsed

    val parse : string ->
           help_text:string -> update:parsed ref -> unit

    type parse_result =

`|` | `Ok`
`|` | `Parse_failed of `exn``

    val parse_no_error : string ->
           update:parsed ref -> parse_result

    val get : key:S.Key.t -> parsed -> S.Value.t