def subclasses(cls):
	"""Return all subclasses of cls, including subclasses of subclasses of cls, etc."""
	subs = set()
	for subcls in cls.__subclasses__():
		subs.add(subcls)
		subs |= subclasses(subcls)
	return subs