docs: def all_subclasses(cls: type) -> Tuple[type, ...]:
      """All subclasses of a class.
  
      From: http://stackoverflow.com/a/17246726/2692780
      """
      subclasses = []
      for subclass in cls.__subclasses__():
          subclasses.append(subclass)
          subclasses.extend(all_subclasses(subclass))
      return tuple(subclasses)