export type Unpromise> = T extends Promise ? U : never; export type Defined = T extends undefined | null ? never : T;