¿Cómo creo una instancia de tipo genérico?

Sé que esta pregunta ya se ha hecho antes, pero aún no he podido resolverla.

Estoy tratando de crear una instancia de una clase a través de un tipo genérico.

He intentado esto:

Class<VH>::getConstructor.call(parameter).newInstance()

Pero me sale este error:I get this error for this method: Callable expects 2 arguments, but 1 were provided.

También probé este método:

inline fun <reified VH> create(): VH {
         return  VH::class.java.newInstance()
     }

Sin embargo, no he podido llamarlo porque no puedo usar un tipo genérico como reified.

Este enfoque tampoco funciona:

fun <VH> generateClass(type: Class<VH>): VH {
        return type.newInstance()
     }

Como cuando lo llamo así:generateClass<VH>(Class<VH>::class.java) Me sale este error:Only classes are allowed on the left handside of a class literal.

Mi pregunta en pocas palabras: ¿Cómo creo una instancia de una clase a partir de un tipo genérico?

Gracias por adelantado

Respuestas a la pregunta(2)

Su respuesta a la pregunta