Remove a subset from given set.

    This is essentially an extension of :func:`set.remove`
    to work with more than one set element.

    :raise KeyError: If some element from ``subset`` is not present in ``set_``

    .. versionadded:: 0.0.2

def remove_subset(set_, subset):
    """Remove a subset from given set.

    This is essentially an extension of :func:`set.remove`
    to work with more than one set element.

    :raise KeyError: If some element from ``subset`` is not present in ``set_``

    .. versionadded:: 0.0.2
    """
    ensure_set(set_)
    ensure_iterable(subset)

    for elem in subset:
        set_.remove(elem)