def METHOD_NAME(cls, *conditions):
    def fn(entity):
        errors: List[Exception] = []
        for condition in conditions:
            try:
                condition.call(entity)
                return
            except Exception as e:
                errors.append(e)
        raise AssertionError('; '.join(map(str, errors)))
    return cls(' or '.join(map(str, conditions)), fn)