docs: def _input_arg(self, a):
          """
          Ask the user for input of a single argument.
          
          :param a: argparse.Action instance
          :return:  the user input, asked according to the action
          """
          # if action of an argument that suppresses any other, just return
          if a.dest == SUPPRESS or a.default == SUPPRESS:
              return
          # prepare the prompt
          prompt = (a.help or a.dest).capitalize()
          r = {'required': a.required}
          # now handle each different action
          if self.is_action(a, 'store', 'append'):
              return user_input(prompt, a.choices, a.default, **r)
          elif self.is_action(a, 'store_const', 'append_const'):
              return user_input(prompt, ("(A)dd", "(D)iscard"), "d", **r)
          elif self.is_action(a, 'store_true'):
              return user_input(prompt, ("(Y)es", "(N)o"), "n", **r)
          elif self.is_action(a, 'store_false'):
              return user_input(prompt, ("(Y)es", "(N)o"), "n", **r)
          elif self.is_action(a, 'count'):
              return user_input(prompt, is_pos_int, 0, "positive integer", **r)
          elif self.is_action(a, 'parsers'):
              pmap = a._name_parser_map
              _ = list(pmap.keys())
              return user_input(prompt, _, _[0], **r) if len(_) > 0 else None
          raise NotImplementedError("Unknown argparse action")