Инвариантность — это свойство обобщенных типов, при котором прямой обмен между типом и его подтипами или надтипами запрещен.
Если у вас есть класс User и его наследник Customer, то в инвариантном типе (которым по умолчанию являются все обобщенные классы в Kotlin) вы не можете присвоить переменную типа Person<Customer> переменной типа Person<User>. Компилятор выдаст ошибку несовместимости типов, так как эти типы считаются абсолютно разными, несмотря на иерархию наследования.