Ну где, скажите пожалуйста, вам мешает type erasure? Вы модульные либы пишите?
приходится каждый раз сомневаться, получится ли у меня сделать функцию вроде inline fun <reified T>readT(src: String) { val data = jsonMapper.readValue<Wrapper<T>>(src) ; ... }