<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def config(p_path=None, p_overrides=None):
 """ Retrieve the config instance. If a path is given, the instance is overwritten by the one that supplies an additional filename (for testability). Moreover, no other configuration files will be read when a path is given. Overrides will discard a setting in any configuration file and use the passed value instead. Structure: (section, option) => value The previous configuration instance will be discarded. """

    if not config.instance or p_path is not None or p_overrides is not None:
        try:
            config.instance = _Config(p_path, p_overrides)
        except configparser.ParsingError as perr:
            raise ConfigError(str(perr)) from perr

    return config.instance