docs: def make_config(name, var_dict, title=None, description=None, **kwargs):
      """ Creates a config instance from scratch.
  
      Usage is virtually the same as :func:`attr.make_class`.
  
      >>> import file_config
      >>> MyConfig = file_config.make_config(
              "MyConfig",
              {"name": file_config.var(str)}
          )
  
      :param str name: The name of the config
      :param dict var_dict: The dictionary of config variable definitions
      :param str title: The title of the config, defaults to None, optional
      :param str description: The description of the config, defaults to None, optional
      :return: A new config class
      :rtype: class
      """
  
      return config(
          attr.make_class(name, attrs={}, **kwargs),
          these=var_dict,
          title=title,
          description=description,
      )