docs: def load_config_file(appdirs=DEFAULT_APPDIRS, file_name=DEFAULT_CONFIG_FILENAME,
          fallback_config_instance=None):
      """
      Retrieve config information from file at default location.
  
      If no config file is found a new one will be created either with ``fallback_config_instance``
      as content or if none is provided with the result of ``get_default_backend_config``.
  
      Args:
          appdirs (HamsterAppDirs, optional): ``HamsterAppDirs`` instance storing app/user specific
              path information.
          file_name (text_type, optional): Name of the config file. Defaults to
          ``DEFAULT_CONFIG_FILENAME``.
          fallback_config_instance (ConfigParser): Backend config that is to be used to populate the
              config file that is created if no pre-existing one can be found.
  
      Returns:
          SafeConfigParser: Config loaded from file, either from the the  pre-existing config
              file or the one created with fallback values.
      """
      if not fallback_config_instance:
          fallback_config_instance = backend_config_to_configparser(
              get_default_backend_config(appdirs)
          )
  
      config = SafeConfigParser()
      path = get_config_path(appdirs, file_name)
      if not config.read(path):
          config = write_config_file(
              fallback_config_instance, appdirs=appdirs, file_name=file_name
          )
      return config