export type Getter = () => T; export type MaybeGetter = T | Getter; export type Expand = T extends infer U ? { [K in keyof U]: U[K]; } : never;