Can someone help me understand why a conflicting type intersection did not produce a type of never
? What am I overlooking?
type A = {value: string}
type B = {value: number}
type D = A & B
type E<T> = T extends never ? 'never' : 'something';
type F = E<D> // I was expecting 'never', but got 'something';