MutableList<B> array1 = mutableListOf()
содержит B
элементов.
class Ba : B { MutableList<C> array2 = mutableListOf() }
Список array2
определен для Ba
.
Подпись B
не раскрывает членовили методы , поэтому вы не можете ожидать, что это сработает.
val itemBa = Ba()
itemBa.array2.add(C("name"))
Здесь вставка работает нормально, потому что вы работаете с Ba
подписью, которая выставляет ее член array2
.