export type Await
= P extends Promise ? Value : never export type Constructor = new(...args: any[]) => T