I'd like a variable holding an array of class instances, with its element type allowing anything derived from a 'base' class. This example of the class-instance array explains what I mean:
class Parent { } //Common parent
class FirstChild extends Parent { }
class SecondChild extends Parent { }
//How should this declaration look?
let instances: <U extends Parent>U[] = []; //Allow all descedants of 'Parent' here
//Then these calls would work
instances.push(new Parent());
instances.push(new FirstChild());
instances.push(new SecondChild());
Thank you beforehand.