Excess object literal property checking fails when the literal includes a spread.
let x = { b: 1, extra: 2 }
let xx: { a, b } = { a: 1, ...x, z: 3 } // error for 'z', no error for 'extra'
Actual: No Error
Expected:
Error for 'z', no error for 'extra'