docs: def basic(args=None):
      """Parse the string list *args* as a set of keyword arguments in a very
      simple-minded way, splitting on equals signs. Returns a
      :class:`pwkit.Holder` instance with attributes set to strings. The form
      ``+foo`` is mapped to setting ``foo = True`` on the :class:`pwkit.Holder`
      instance. If *args* is ``None``, ``sys.argv[1:]`` is used. Raises
      :exc:`KwargvError` on invalid arguments (i.e., ones without an equals sign
      or a leading plus sign).
  
      """
      if args is None:
          import sys
          args = sys.argv[1:]
  
      parsed = Holder()
  
      for arg in args:
          if arg[0] == '+':
              for kw in arg[1:].split(','):
                  parsed.set_one(kw, True)
              # avoid analogous -a,b,c syntax because it gets confused with -a --help, etc.
          else:
              t = arg.split('=', 1)
              if len(t) < 2:
                  raise KwargvError('don\'t know what to do with argument "%s"', arg)
              if not len(t[1]):
                  raise KwargvError('empty value for keyword argument "%s"', t[0])
              parsed.set_one(t[0], t[1])
  
      return parsed