from typing import Mapping
from typing import Sequence
from typing import Hashable


def exclude_keys(dictionary: Mapping, keys: Sequence[Hashable]) -> dict:
    """
    Removes all key-value pairs, matching the provided keys
    from the dictionary and returns a new one.

    Does not crash when non-existant keys are provided.

    Arguments:
        dictionary: A mapping-type from which keys
            should be removed.
        keys: A sequence of hashable keys to be excluded
            from the new dictionary.

    Returns:
        A new dictionary minus the specified key-value pairs.
    """
    return {k: v for k, v in dictionary.items() if k not in keys}