[TypeScript] How would you go about creating an Array that can have different types of objects? - Theo's Typesafe Cult