**Code** ```ts function doStuff(a: any) { if (typeof a === "object") { a //why isn't a typed as Object here? } } ``` example [here](http://www.typescriptlang.org/play/#src=%0D%0A%0D%0Afunction%20doStuff(a%3A%20any)%20%7B%0D%0A%0D%0A%20%20%20%20if%20(typeof%20a%20%3D%3D%3D%20%22object%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20a%20%2F%2Fwhy%20isn't%20a%20typed%20as%20Object%20here%3F%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20if%20(typeof%20a%20%3D%3D%3D%20%22string%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20a%0D%0A%20%20%20%20%7D%0D%0A%7D) **Expected behavior:** in the if statement `a` should be typed as Object and give code completion suggestions for object (like hasOwnProperty). **Actual behavior:** `a` is still typed as any and no object based code completion suggestions are given.