<!-- BUGS: Please use this template. --> <!-- QUESTIONS: This is not a general support forum! Ask Qs at http://stackoverflow.com/questions/tagged/typescript --> <!-- SUGGESTIONS: See https://github.com/Microsoft/TypeScript-wiki/blob/master/Writing-Good-Design-Proposals.md --> **TypeScript Version:** nightly (2.2.0-dev.20161211) **Code** ```ts type Foo = { foo: string, bar?: string }; type X<T> = { [K in keyof T]: any }; type FooX = { [K in keyof Foo]: any }; const a: X<Foo> = { foo: "foo" }; // passed const b: FooX = { foo: "foo" }; // failed: property 'bar' is missing ``` **Expected behavior:** Both passed or both failed (maybe both passed) **Actual behavior:** Comment in code.