title: Flow can't assign property: assignment of computed property/element
body: <p>I'm trying to add property in the object like this:</p>
  
  <pre><code>request(options:HttpRequestData): Promise&lt;any&gt; {
      options.headers = options.headers || {};
  
      options.headers['Accept'] = 'application/json';
      options.headers['Content-Type'] = 'application/json';  // Error
  
      return this._request(options);
  }
  </code></pre>
  
  <p>But it has error:</p>
  
  <pre><code>options.headers['Content-Type'] = 'application/json';
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
  assignment of computed property/element. Computed property/element cannot be assigned on possibly undefined value
  </code></pre>
  
  <p>HttpRequestData is a object type:</p>
  
  <pre><code>type HttpRequestData = {
      url:string,
      method:string,
      headers?:Object,
      body?:string,
  };
  </code></pre>
  
  <p>Assiging just one value into options.header(in this case, 'Accept') works but it fails when I try two or more.</p>
  
  <p>What the difference between single assigning and multiple assigning in Flow, and how to assign those properties into options.headers object?</p>
  
  <p>Any advice will very appreciate it.</p>