title: Typescript "specialized" overloading
body: <p>Is it possible to define this specialized overload without introducing the signature which exactly matches the implementation?</p>
  
  <pre><code>on(eventName: string, cb: Function);
  on(eventName: "view", cb: (args: {
      foo: {
      }
  }) =&gt; void);
  on(eventName: string, cb: Function) {
  }
  </code></pre>
  
  <p>When I remove it I receive this error:</p>
  
  <blockquote>
    <p>Specialized overload signature is not assignable to any
    non-specialized signature.</p>
  </blockquote>