¿Por qué una propiedad tipada genérica se puede anular?

Estoy intentando crear una class parametrizada con una lateinit no lateinit del tipo genérico:

 class Test<T> { private lateinit var t : T private lateinit var s : String } 

El último está permitido, pero el primero no. El comstackdor devuelve el siguiente error:

 Error:(7, 11) ''lateinit'' modifier is not allowed on nullable properties 

¿Desde que no declare T? , Estoy confundido sobre por qué este es el caso.