Escriba inferencia con initialization diferida y método de fábrica genérico en Kotlin

Tengo un método de fábrica que produce una list de <T> :

 inline fun <reified T> getObject(fileName: String): List<T> 

El método de fábrica se debe usar para la initialization lenta de esta manera:

 val points: List<Point> by lazy { ObjectFactory.getObject(pointsFileName) } 

Ahora el comstackdor de Kotlin obviamente no tiene suficiente información de tipo dentro de la lambda y se queja:

 Type inference failed: Not enough information to infer parameter T in inline fun <reified T> getObject(fileName: String): List<T> Please specify it explicitly. 

El comstackdor no está considerando el tipo al que se asignará el resultado de la initialization diferida. Puedo evitar esto proporcionando el tipo localmente, pero no es bonito:

 val points by lazy { val pointsToCommunicateType: List<Point> = ObjectFactory.getObject(pointsFileName) pointsToCommunicateType } 

¿Cuál es la forma correcta de hacer esto?

Puede especificar el tipo como este:

 ObjectFactory.getObject<Point>(pointsFileName)