from typing import Iterable
from typing import Any
from typing import Union
from typing import List


def remove_from_iterable(
    the_iterable: Iterable[Any], items_to_remove: Iterable[Any]
) -> Union[Iterable[Any], None]:
    """
    remove_from_iterable removes any items in items_to_remove from the_iterable.

    :param the_iterable: Source iterable to remove items from.
    :type the_iterable: Iterable[Any]
    :param items_to_remove: Iterable containing items to be removed.
    :type items_to_remove: Iterable[Any]
    :return: Iterable containing all remaining items or None if no items left.
    :rtype: Union[Iterable[Any], None]
    """
    new_iterable: List[Any] = []
    for item in the_iterable:
        if item not in items_to_remove:
            try:
                new_iterable.append(item)
            except NameError:
                new_iterable = [item]
    try:
        return new_iterable
    except NameError:
        return None