Union types in GraphQL

Could you exlplain this in more detail? Would this not be supported at first?

expanding parts of your schema for example pruposes:

interface Animal {
  id: ID!
  category: Category @search
  name: String @search(by: [hash])
}

interface HomeBody {
  hasHome: Home @hasInverse(field: members)
}

type Dog implements Animal & HomeBody {
  breed: String @search
}

type Parrots implements Animal & HomeBody {
  repeatsWords: [String]
}

type Human implements HomeBody {
  id: ID!
  name: String! @search(by: [hash])
}
query {
  queryHome @cascade {
    id
    address
    members @filter(filter: {name: {eq: "Snoopy"}}) {
      id
    }
  } 
}

If I understand correctly there will be no auto generated queryHomeMember so I could not do a better query without cascade going from the reverse direction:

query {
  queryHomeMember(filter: {name: {eq: "Snoopy"}}) {
    hasHome {
      id
      address
      members {
        name
      }
    }
  }
}

But I would have to know that it was a dog and do this query:

query {
  queryDog(filter: {name: {eq: "Snoopy"}}) {
    hasHome {
      id
      address
      members {
        name
      }
    }
  }
}

This does not work in every use case: Vet finding a tag with name and trying to find what animal and what owner it belonged to in a single query.