```ts export type Condition = And | Or | Not | Misc export interface Misc { [type: string]: { target: string [key: string]: any } } export interface And { and: Condition[] } export interface Or { or: Condition[] } export interface Not { not: Condition } const c: Condition = { foo: "bar", // <-- should be producing an error not: { equals: { target: "name", value: "foo" }, }, } ``` **Expected behavior:** Error "foo is an excess property" **Actual behavior:** No error.