Despite being unimplementable, the type definition below does not trigger any warnings from the compiler.
// No type error
type impossible = 0 & string[] & 'anything'
An item cannot simultaneously be a number, a string[], and a string literal.
- What is the reason behind TypeScript allowing the creation of impossible types?
- Is there a practical scenario where defining unimplementable types serves a genuine purpose?