Both ComponentType and FC are generic on Props, with default `{}` (empty object). You need to specify a props type, but the only type that will for for all possible entries in MAP is `ComponentType<any>`.
That works and allows TS to discriminate the union via `[variant]`. Great suggestion!