Tentando entender os limites de 'T estende inferir U'

Eu entendi que algo como: type GenericExample<T> = T extends (infer U) ? U : 'bar'; é igual a: type GenericExample<T> = T extends T ? T : 'bar'; Mas quando as coisas se tornam mais elaboradas, o TypeScript reclama: type Types = 'text' | 'date' | 'articles' | 'params'; type...