def METHOD_NAME(
    channel: List[Any],
    predicate: Union[Callable, re.Pattern, type, None],
) -> List[Any]:
    """Filters a given list with either a predicate, a regex, or a type"""
    if isinstance(predicate, Callable):
        return list(filter(predicate, channel))
    elif isinstance(predicate, re.Pattern):
        def filter_func(list_item: Any):
            if isinstance(list_item, str):
                return predicate.match(list_item)
            return False
        return list(filter(filter_func, channel))
    elif isinstance(predicate, type):
        def filter_func(list_item: Any):
            return isinstance(list_item, predicate)
        return list(filter(filter_func, channel))
    else:
        return channel