Почему мы не можем отметить видимость класса как «защищенного» в котлин?

Я новичок в kotlin Я недавно узнал о наследовании в kotlin, а затем понял, что мы не можем отметить видимость класса как «защищенного». Исправьте меня, если я ошибаюсь, или есть ли другой способ сделать класс защищенным?

    Вы можете пометить protected только части классов, чтобы они стали доступными только из производных классов. Вы можете пометить protected свойство-член, функцию-член или вложенный класс:

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

    Но вы не можете пометить protected что-либо, не принадлежащее классу (например, класс или функция верхнего уровня), поскольку модификатор не имеет смысла: объект верхнего уровня не подлежит наследованию, поэтому не может быть никакого производного класса который получит доступ к нему.