Version: master ``` typescript class B { name: string } class A { } class C { name: string; } var a: A | C; if (!(a instanceof A)) { a; // a has "never" type } ``` The change is a result of the PR #10216. It is followed the specification in that PR. Though I wonder whether this should get treated differently.