def is_subclass(candidate, base_class):
    """
    Check if `candidate` is a subclass of `base_class`.
    
    You may pass in a tuple of base classes instead of just one, and it will
    check whether `candidate` is a subclass of any of these base classes.
    
    This has one advantage over the built-in `issubclass`: It doesn't throw an
    exception if `candidate` is not a type. (Python issue 10569.)
    """
    return isinstance(candidate, type) and issubclass(candidate, base_class)
