When I use TypeScript's void type in conjunction with other types using intersection, I get different results.
type A = void & {} // A is void & {}
type B = void & '1' // B is never
type C = void & 1 // C is never
type D = void & string // D is never
type E = void & String // E is void & String
type A = void & {}
type E = void & String
They should also be never types, right?