title: Cannot spread object literal because Flow cannot determine a type for object literal
body: <p>The following (simplified) code</p>
  
  <pre><code>type Category = {
      id: string,
      name: string,
  };
  
  type Option = {
      id: string,
      name: string,
      isSelected: boolean,
  };
  
  const options = categories.map((c: Category): Option =&gt; ({
   isSelected: true,
   ...c,
  }));
  </code></pre>
  
  <p>produces the error:</p>
  
  <blockquote>
    <p>Flow: Cannot spread object literal because Flow cannot determine a type for object literal [1]. <code>Category</code> [2] is inexact, so it may contain <code>isSelected</code> with a type that conflicts with <code>isSelected</code>'s definition in object literal [1]. Try making <code>Category</code> [2] exact.</p>
  </blockquote>
  
  <p>What am I missing?</p>