docs: def delete_kwargs(self, base_key, args=None, kwargs=None):
          """
          Deletes the ``*args`` or ``**kwargs`` part from the parameters section
  
          Either `args` or `kwargs` must not be None. The resulting key will be
          stored in
  
          ``base_key + 'no_args'``
              if `args` is not None and `kwargs` is None
          ``base_key + 'no_kwargs'``
              if `args` is None and `kwargs` is not None
          ``base_key + 'no_args_kwargs'``
              if `args` is not None and `kwargs` is not None
  
          Parameters
          ----------
          base_key: str
              The key in the :attr:`params` attribute to use
          args: None or str
              The string for the args to delete
          kwargs: None or str
              The string for the kwargs to delete
  
          Notes
          -----
          The type name of `args` in the base has to be like ````*<args>````
          (i.e. the `args` argument preceeded by a ``'*'`` and enclosed by double
          ``'`'``). Similarily, the type name of `kwargs` in `s` has to be like
          ````**<kwargs>````"""
          if not args and not kwargs:
              warn("Neither args nor kwargs are given. I do nothing for %s" % (
                  base_key))
              return
          ext = '.no' + ('_args' if args else '') + ('_kwargs' if kwargs else '')
          self.params[base_key + ext] = self.delete_kwargs_s(
              self.params[base_key], args, kwargs)