type a = { a: string }
type b = { b: string }
type c = { c: string }
const A: a = { a: "123" }
const C: c = { c: "789" }
const B: b = { b: "456", a: "123" }// ok, error as expected
const B2: b = { b: "456", a: "123", ...C } // ok, error as expected
const B3: b = { b: "456", a: "123", ...A } // what, why no error as if it is B3:a&b
const B4: b = { b: "456", a: "123", w:"2020", ...A } // only w:"2020" error
questions1: why is B3 doesn't throw any error?
question2: how to solve this, how can I make B3 error?