Tipos genéricos variables en TypeScript?

Me gustaría hacer una función en TypeScript que tome una matriz de funciones de constructor y devuelva una matriz de instancias correspondiente. Vea el código a continuación.

Nota que elgetArrayl método @ es completamente incorrecto, es solo un intento de transmitir mi intención.

Es esto posible en cualquier forma o está más allá de las capacidades del motor de tipos de TypeScript?

class T1 {}
class T2 {}
class T3 {}
type AnyCon = new() => any;

function getOne<T_Con extends AnyCon>(con: T_Con): InstanceType<T_Con> {
  return new con();
}

function getArray<T_Cons>(cons: T_Cons): InstanceType<T_Cons>[] {
  return cons.map( (c: con) => new con() );
}

let t1: T1 = getOne(T1);
let [t2, t3]: [T2, T3] = getArray( [T2, T3] );

Respuestas a la pregunta(1)

Su respuesta a la pregunta