Closed
Description
Usually narrowing a type causes us to have access to more properties. Not so if the original type was any. In this case, narrowing actually causes us to lose properties. So we should not get an error in the following case:
var x: any = { p: 0 };
if (x instanceof Object) {
x.p; // Error that p does not exist on Object
}