type New @shareable { other: String! name: String! @inaccessible message: String! @inaccessible old: Old! @inaccessible } type Old @inaccessible @shareable { name: String! @inaccessible } type Query { getNew(name: String!): New }