title: GraphQL union and conflicting types
body: <p>I've got an issue on my project and I can't find any solution on the internet. Here is the situation.</p>
  
  <ul>
  <li>I've an Union (<code>DataResult</code>) of 2 types (<code>Teaser</code> &amp; <code>Program</code>)</li>
  <li>I've a <code>Zone</code> type with a <code>data</code> field (an array <code>DataResult</code>)</li>
  <li><code>Teaser</code> &amp; <code>Program</code> have the same <code>title</code> field with a different type (<code>String</code> vs <code>String!</code>)</li>
  </ul>
  
  <p>Here is parts from <code>Zone</code>, <code>Teaser</code> and <code>Program</code> schemas:</p>
  
  <pre><code>type Program {
      title: String
  }
  
  type Teaser {
      title: String!
  }
  
  union DataResult = Teaser | Program
  
  type Zone {
      (...)
      data: [DataResult!]
  }
  </code></pre>
  
  <p>When I tried to query zone data as described in the query part below, I've got an error from GraphQL.</p>
  
  <pre><code>zones {
      ...zoneFieldsWithoutData
      data {
          ... on Program {
              ...programFields
          }
          ... on Teaser {
              ...teaserFields
          }
      }
  }
  </code></pre>
  
  <p>Here is the error:</p>
  
  <pre><code>Error: GraphQL error: Fields \"title\" conflict because they return conflicting types String and String!. Use different aliases on the fields to fetch both if this was intentional
  </code></pre>
  
  <p>I can't use an alias because the specs needs the same attribute name for all "DataResult" entities. What can I do ?</p>
  
  <p>Moreover, even if I set the same Type for <code>title</code>, I've a lot of warning about "missing fields" in the console....</p>
  
  <p>PS: I use Vanilla Apollo as GraphQL client (on the server side)</p>