Me topé con este ejemplo en ts docs dentro del Manual>Manipulación de tipos>Tipos condicionales
type GetReturnType<Type> = Type extends (...args: never[]) => infer Return ? Return : never; type Num = GetReturnType<() => number>; type Num = number type Str = GetReturnType<(x: string) => string>; type Str = string type Bools = GetReturnType<(a: boolean, b: boolean) => boolean[]>; Intenté usar cualquiera y también me dio los mismos resultados. ¿Por qué never[] aquí? ¿Qué beneficios proporciona aquí en lugar de any[] ?