type MyExclude<T, U> = [T] extends [U] ? never : T
Envolver `T` en una tupla desactiva la distribución, así que se compara la unión entera de golpe. `["a" | "b" | "c"] extends ["a"]` es falso, y la unión vuelve entera sin filtrar.
Línea por línea
T extends U
`T` está aquí *desnudo* — aparece solo en el lado comprobado, sin envolver en tupla, array u objeto. Esa es exactamente la condición que dispara la distribución sobre una unión.
? never : T
Cada miembro se convierte en `never` o sobrevive tal cual. Al unir los resultados los `never` desaparecen solos, porque `never` es el elemento neutro de la unión.
Para recordar
La distribución es la diferencia entre preguntar sobre una unión y preguntar sobre cada miembro. `[T] extends [U]` es el interruptor que la apaga.