def METHOD_NAME(config_scopes, fixed=None, preset=None, fallback=None):
    fixed = fixed or {}
    fallback = fallback or {}
    final_config = dict(preset or {})
    config_summaries = []
    for config in config_scopes:
        cfg = config(fixed=fixed, preset=final_config, fallback=fallback)
        config_summaries.append(cfg)
        final_config.update(cfg)
    if not config_scopes:
        final_config.update(fixed)
    return undogmatize(final_config), config_summaries