¿Por qué no podemos marcar la visibilidad de una class como "protegida" en kotlin?

Soy nuevo en kotlin. He estado aprendiendo acerca de la inheritance en kotlin recientemente, y luego me di count de que no podemos marcar la visibilidad de una class como "protegida". Corrígeme si estoy equivocado, ¿o hay alguna otra forma de proteger una class?

Puede marcar solo las partes protected de las classs, de modo que solo sean accesibles desde las classs derivadas. Puede marcar una propiedad protected , una function miembro o una class anidada protected :

 open class X { protected val v: SomeType = someValue protected fun f() { } protected class Y { ... } } 

Pero no puede marcar nada protected que no pertenece a una class (por ejemplo, una class o function de nivel superior), porque el modificador no tendría sentido: una entidad de nivel superior no está sujeta a inheritance, por lo tanto no puede haber una class derivada eso tendría acceso a él.