type A { unrelated: String overlapping: Int } type B { overlapping: Int! } type C { overlapping: Int } union Union = A | B | C type Query { root: Union } # There is a conflicting type due to `B.overlapping` and `C.overlapping` both being selected # to `root.overlapping`, but neither overlap with the initial selection set for `root`. { root { ... on A { unrelated } } root { ... on B { overlapping } } root { ... on C { overlapping } } }