def function_exclusion_filter_builder(func: Strings) -> NodePredicate:
if isinstance(func, str):<EOL><INDENT>def function_exclusion_filter(_: BELGraph, node: BaseEntity) -> bool:<EOL><INDENT>"""<STR_LIT>"""<EOL>return node[FUNCTION] != func<EOL><DEDENT>return function_exclusion_filter<EOL><DEDENT>elif isinstance(func, Iterable):<EOL><INDENT>functions = set(func)<EOL>def functions_exclusion_filter(_: BELGraph, node: BaseEntity) -> bool:<EOL><INDENT>"""<STR_LIT>"""<EOL>return node[FUNCTION] not in functions<EOL><DEDENT>return functions_exclusion_filter<EOL><DEDENT>raise ValueError('<STR_LIT>'.format(func))<EOL>
Build a filter that fails on nodes of the given function(s).

    :param func: A BEL Function or list/set/tuple of BEL functions