Intersecting Incompatible Types
What
An incompatible intersection occurs when you combine types that have properties with the same name but different, non-overlapping types.
How
If you intersect a type that requires name to be a string with one that requires name to be a number, the resulting name property becomes never:
type A = { x: string };
type B = { x: number };
type C = A & B; // x is now string & number, which is impossible (never)
Why
TypeScript uses this to signal that the combination of types is logically impossible. It forces you to rethink your data structure or use nested objects rather than merging incompatible properties into a single flat type.
Summary
If an intersection results in never, it usually indicates a conflict in your type definitions that must be resolved through a design change.