def fn_filter(names, pat):
    def match(name, fn=fnmatch.fnmatch, pat=pat):
        return fn(name, pat)

    return tuple(filter(match, names))
When the function exits with an exception, sets should still be
dataset/ETHPy150Open araile/see/see.py/fn_filter--crossover with--dataset/ETHPy150Open numba/numba/numba/tests/test_sets.py/TestSetReflection.test_reflect_exception