def allsubclasses(cls: type):
	""" Get all subclasses of class `cls' and its subclasses and so on recursively. """
	return cls.__subclasses__()+[j for i in cls.__subclasses__() for j in allsubclasses(i)]