def ensure_kwarg_not_in(caller, key, forbidden):
    """Checks a single **key** from keyword arguments against forbidden keys.

       If **key** is in **forbidden** keys, throws :exc:`TypeError`.

       :param str caller: name of the caller,
       :param str key: the key to be examined,
       :param forbidden: sequence of forbidden keys.

       :return: True
    """
    if forbidden is not None and key in forbidden:
        msg = "%s got a forbidden keyword argument %r" % \
                (str(caller), key)
        raise TypeError(msg)
    return True