title: Cannot assign object literal to `...` because property `...` is missing in object literal [1] but exists in `...`
body: <p>I am new flow and currently working on a project with flow strict. I have a type alias being passed to a class. The snippet can be found <a href="https://flow.org/try/#0PTAEAEDMBsHsHdQGcAuAnAlgYxQKFwKYAeADrGiqCgJ4kGgDCArqrALYAqt9AvKAN65QoAIYAuZOgwA7AOYAaIaABGE5bFjQCI6YuFY1GrTr2gAJoc3bdSgpePTcAXwDcuLZTOg+6JgTceKt5UaH4BBJRYLCjsXHRizKyc3MGCwunpZqYZwsrZOQYhfnpO+FjQIkhIjNHsaaBYsNKooTjkABRRSXG8Ak4AlH3O+IFdMWzB0gSIieOdtcl0-S5AA" rel="noreferrer">here</a> </p>
  
  <pre><code>// @flow strict
  
  export type CustomType = {
    a: string,
    b: boolean,
    c: boolean,
    d: boolean,
    e: boolean
  };
  let d = true;
  let b = true;
  let customType:CustomType = {
          d,
          b,
          c: true,
   }
  
  class Custom{
    constructor(customType = {}) {}
  }
  
  let custom = new Custom(customType);
  </code></pre>
  
  <p>When passing the object not all properties customType are present. What is the best fix here?</p>