def find_subclasses(cls):
    """
    Recursively find all subclasses of given class cls.
    """
    subclasses = cls.__subclasses__()
    for subclass in list(subclasses):
        subclasses.extend(find_subclasses(subclass))
    return list(set(subclasses))