'type'] as const; type Diff< T extends readonly string[], U extends readonly string[] > = | Exclude<T[number], U[number]> | Exclude<U[number], T[number]> type A = Diff<['id', 'class', 'type'], ATTRS> // ^? type A = never type B = Diff<['id', 'type'], ATTRS> // ^? type B = "class" type C = Diff<['id', 'type', 'class', 'for'], ATTRS> // ^? type C = "for" 8 Diff は何をしているか?