title: Typescript modifying or extending call signatures
body: <p>Can one modify a function's call signature as follows:</p>
  <p>given fn1:</p>
  <pre class="lang-js prettyprint-override"><code>type fn1 = ( a: string, b: number, c: string )=&gt;void
  </code></pre>
  <p>Psuedo code output required:</p>
  <pre class="lang-js prettyprint-override"><code>type fn2 = ( ...fn1.parameters, d: number )=&gt;void  // new type: ( a: string, b: number, c: string, d: number )=&gt;void
  //or
  type fn2 = ( pick&lt;fn1.parameters,'a','c'&gt;, d: number )=&gt;void // new type: ( a: string, c: string, d: number )=&gt;void
  </code></pre>