title: Typescript exclude Type from Type
body: <pre><code>interface First {
    field1: number;
  }
  
  interface Second {
    field2: number
  }
  
  interface Third extends First, Second {
  
  }
  
  // type Forth = Omit&lt;Third, Second&gt;
  // expect Fourth to be { field1: number}
  </code></pre>
  
  <p>With the well know Omit type we can omit properties from a type</p>
  
  <pre><code>type Omit&lt;T, K extends keyof T&gt; = Pick&lt;T, Exclude&lt;keyof T, K&gt;&gt;
  </code></pre>
  
  <p>E.g.</p>
  
  <pre><code> Omit&lt;Third, 'field2'&gt; and it will work as the above
  </code></pre>
  
  <p>But the problem is when Second has more than a few fields</p>
  
  <p>Is this achievable? How?</p>