title: typescript: generic for addable types? (with `+`)?
body: <p>Is there a way in typescript to declare a generic type parameter that ensures a type has addition?</p>
  <p>For example, the typechecker objects to the following:</p>
  <pre class="lang-js prettyprint-override"><code>function myAddition&lt;T&gt;(x: T, y: T) {
    // Typechecker error: Operator '+' cannot be applied to types 'T' and 'T'.
    return x + y;
  }
  </code></pre>
  <p>How do I declare my generic type <code>T</code> to tell the typechecker that this function can only be called on types that can be added?</p>