Tratando de entender los límites de 'T extiende inferir U'

He entendido que algo así como: type GenericExample<T> = T extends (infer U) ? U : 'bar'; es igual a: type GenericExample<T> = T extends T ? T : 'bar'; Pero cuando las cosas se vuelven más elaboradas, TypeScript se queja: type Types = 'text' | 'date' | 'articles' | 'params'; type...