def METHOD_NAME(path):
    # caller should check path if they are expecting it to definitely exist
    collect = []
    if not os.path.isfile(path):
        return collect
    with open(path) as f:
        override_data = yaml.safe_load(f)
        # we are expecting a map with a single key, `banned`
        if not isinstance(override_data, dict):
            raise ValueError("Banfile error: '%s' must be a map" % path)
        for key, value in override_data.items():
            # XX could add an 'allowed' list here?
            if key == 'banned':
                if not isinstance(value, list):
                    raise ValueError("Banfile error: '%s' must be a list" % key)
                collect.extend(value)
            else:
                raise ValueError("Banfile error: extraneous key ('%s')" % key)
    validate(collect)
    return collect