title: How to tell typescript "An object with any key except those of that other type"
body: <p>I want to define a type allowing any key except those of another type:</p>
  
  <pre class="lang-js prettyprint-override"><code>type A = { x: number, y: number }
  type B = { /* Any key except those in A */ }
  
  let foo: B = { z: 12 } // Good
  let bar: B = { z: 12, y: 13 } // Bad
  </code></pre>
  
  <p>I've tried this but it doesn't work:</p>
  
  <pre class="lang-js prettyprint-override"><code>type B = { [key: Exclude&lt;string, keyof A&gt;]: any }
  </code></pre>
  
  <p>How can I define <code>B</code>?</p>