// @strict: true type A = { type: 'a', data: { a: string } }; type B = { type: 'b', data: null }; type C = { type: 'c', payload: string }; type Union = A | B | C; // error const foo: Union = { type: 'a', data: null };