title: Make some properties optional in a TypeScript type
body: <p>If I have a type with all required properties, how can I define another type with the same properties where some of it's properties are still required but the rest are optional?</p>
  
  <p>For example I want a new type derived from SomeType where prop1 and prop2 are required but the rest are optional:</p>
  
  <pre><code>interface SomeType {
      prop1;
      prop2;
      prop3;
      ...
      propn;
  }
  
  interface NewType {
      prop1;
      prop2;
      prop3?;
      ...
      propn?;
  }
  </code></pre>