def list_all_subclasses(superclass):
    """
    Get a list of all subclasses defined for a given superclass
    """

    # sorted for determinism
    return sorted(
        # any class object in python has a meta-function for its subclasses
        [cls for cls in superclass.__subclasses__()],
        # sort based on class name
        key=lambda c: c.__name__
    )