I literally meant typescript types... i.e. define the types of the solution rather than an algorithm... it servers the same purpose as using something like terraform:
Ah, I think what you're asking for is "declarative" configuration, rather than the typical imperative code for setting up infrastructure. I think that's what you're out after, but with strong types?
``` interface BaseEC2 extends AWSEC2 { type: '...' }
// export means build export interface MyInstance extends BaseEC2 { // some customisations }
// fleet export interface EC2Fleet extends EC2Fleet { instances: MyInstance } ```
etc...
wacky idea but I kind of like it