Suporte de tipos de união no relé

Quando você define o campo como uma união de dois tipos (no exemplo, as máquinas contêm Ships e Droid), no Relay, você pode fazer algo assim:

fragment on Faction@ relay(plural: true) {
  name,
  machines {
    ... on Ship {
      name
    }
    ... on Droid {
      name,
      primaryFunction
    }
  }
}

portanto, em máquinas prop, seus objetos são avaliados corretamente, mas se você quiser fazer isso usando fragmentos de componentes externos:

fragment on Faction@ relay(plural: true) {
  name,
  machines {
    ${StarWarsShip.getFragment('ship')}
    ${StarWarsDroid.getFragment('droid')}
  }
}

então você acaba com definições de fragmento em máquinas. Parece que você está preso e não pode verificar qual objeto é qual tipo de matriz de máquinas, portanto não pode decidir qual componente deve ser usado.