Within the context where some parametric Type K exists, and it is clear that K extends string | number | symbol the line
let val: K extends K ? string : any = ""
Gives a compiler error:
TS2322: Type 'string' is not assignable to type 'K extends K ? string : any'.
I would have expected this to compile, since K extends K should evaluate to true.
generally, isn't true ? A : B always inferred to be A ?
What's the problem here?