**TypeScript Version:** 2.1.4 & 2.2.0-dev.20161220 **Code** ```ts function test(t?: { a: number } | null): void { let b = { ...t }; // b: { a: number } let c: number = b.a; // no error } ``` **Expected behavior:** `b.a` to be `number | undefined`, as if `t` is `null` or `undefined`, `b` is an empty object. **Actual behavior:** `b.a`is `number`.