// OpenAPI title. $version: "v1alpha1" #T: { shared: int } #T: {} | { exact: string } | { regex: string } #T: {} | { count: int } | { amount: int } #T: { shared2: int } // This should be dedupped. #T: {} | { count: int } | { amount: int } #MyInt: int #Foo: { include: #T exclude: [...#T] count: #MyInt } #Incompatible: { shared: int } | { shared: int extra1: int } | { shared: int extra2: int } #WithMap: { shared: [string]: int } | { shared: [string]: int extra: int } | { shared: string // incompatible extra: int } #Embed: { a?: int close({}) | close({b: #T}) | close({c: int}) #T: {b?: int} close({}) | close({d: #T}) | close({e: int}) // TODO: maybe support builtin to write this as // oneof({}, // {b: int}, // {c: int}) }