[Reproduction](https://www.typescriptlang.org/play/#src=type%20Opaque%20%3D%20%7B%7D%20%7C%20null%20%7C%20undefined%20%7C%20void%3B%0D%0A%0D%0Afunction%20foo(value%3A%20Opaque)%3A%20void%20%7B%0D%0A%20%20if%20(value%20%7C%7C%20value%20%3D%3D%3D%200)%20%7B%0D%0A%20%20%20%20%2F%2F%20...%0D%0A%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%2F%2F%20...%0D%0A%20%20%7D%0D%0A%7D%0D%0A%0D%0A%2F%2F%20You%20can%20see%20what%20is%20causing%20this%20bug%20here%3A%0D%0A%0D%0Ainterface%20Anything%20%7B%20%7D%0D%0A%0D%0Afunction%20bar(value%3A%20Anything)%20%7B%0D%0A%20%20if%20(value%20%7C%7C%20%2F*%20hover%20here%20-%3E%20*%2F%20value%20%2F*%20%3C-%20value%20is%20%22never%22%20*%2F%20%3D%3D%3D%200)%20%7B%20%0D%0A%0D%0A%20%20%7D%0D%0A%7D%0D%0A) (turn on `strictNullChecks` to see the red line) ```ts let x: {} = ""; if (!x) { // x is `never` O_O } ```