Check whether given is an indirect subclass of another,
    i.e. there exists at least intermediate base between ``of`` and ``class_``.

    :param class_: Class to check
    :param of: Superclass to check against

    :return: Boolean result of the test

    .. versionadded:: 0.0.4

def is_indirect_subclass(class_, of):
    """Check whether given is an indirect subclass of another,
    i.e. there exists at least intermediate base between ``of`` and ``class_``.

    :param class_: Class to check
    :param of: Superclass to check against

    :return: Boolean result of the test

    .. versionadded:: 0.0.4
    """
    ensure_class(class_)
    ensure_class(of)  # TODO(xion): support predicates in addition to classes

    return issubclass(class_, of) and not is_direct_subclass(class_, of)