title: typedef just like C/C++
body: <p>I've been using Basarats's excellent <a href="https://github.com/basarat/typescript-collections">Collections</a> library slightly updated for 0.9.0 creating types such as:</p>
  
  <pre><code>Dictionary&lt;ControlEventType, 
      Dictionary&lt;number, (sender: IControl, 
                          eventType: ControlEventType, 
                          order: ControlEventOrder, 
                          data: any) =&gt; void &gt;&gt;
  </code></pre>
  
  <p>Now I don't want to have to write this in full every time I use it.  One of the approaches which seems to work is:</p>
  
  <pre><code>export class MapEventType2Handler extends C.Dictionary&lt;ControlEventType,
                                                  C.Dictionary&lt;number,
                                                  (sender: IControl,
                                                   eventType: ControlEventType,
                                                   order: ControlEventOrder,
                                                   data: any) =&gt; void &gt;&gt; {}
  </code></pre>
  
  <p>I can then write:</p>
  
  <pre><code>EH2: MapEventType2Handler = new MapEventType2Handler();
  </code></pre>
  
  <p>instead of:</p>
  
  <pre><code>EH: Dictionary&lt;ControlEventType, 
          Dictionary&lt;number, 
          (sender: IControl, 
           eventType: ControlEventType, 
           order: ControlEventOrder, 
           data: any) =&gt; void &gt;&gt;;
  </code></pre>
  
  <p>Anyone come across any better ideas?</p>
  
  <p>I am also experimenting with 'typedeffing' various function signatures without great results.</p>