tests/cases/conformance/types/nonPrimitive/nonPrimitiveNarrow.ts(9,5): error TS2322: Type 'number' is not assignable to type 'object'. tests/cases/conformance/types/nonPrimitive/nonPrimitiveNarrow.ts(13,7): error TS2339: Property 'toFixed' does not exist on type 'never'. tests/cases/conformance/types/nonPrimitive/nonPrimitiveNarrow.ts(21,6): error TS2339: Property 'toString' does not exist on type 'never'. ==== tests/cases/conformance/types/nonPrimitive/nonPrimitiveNarrow.ts (3 errors) ==== class Narrow { narrowed: boolean } var a: object if (a instanceof Narrow) { a.narrowed; // ok a = 123; // error ~ !!! error TS2322: Type 'number' is not assignable to type 'object'. } if (typeof a === 'number') { a.toFixed(); // error, never ~~~~~~~ !!! error TS2339: Property 'toFixed' does not exist on type 'never'. } var b: object | null if (typeof b === 'object') { b.toString(); // ok, object | null } else { b.toString(); // error, never ~~~~~~~~ !!! error TS2339: Property 'toString' does not exist on type 'never'. }