Excess property checks fire on a 'fresh' literal but the freshness is lost the moment the literal is widened through a type-parameter inference site. Given the generic call below, why does the extra property `z` NOT trigger an excess-property error?
declare function id<T>(x: T): T;
const r = id({ x: 1, y: 2, z: 3 }); // no excess-property error
// r: { x: number; y: number; z: number }