title: Polymorphic delegates
body: <p>C# chokes on</p>
  
  <pre><code>delegate void Bar&lt;T&gt;(T t);
  
  void foo(Bar bar)
  {
      bar.Invoke("hello");
      bar.Invoke(42);
  }
  </code></pre>
  
  <p>The workaround is to use an interface</p>
  
  <pre><code>interface Bar
  {
      void Invoke&lt;T&gt;(T t);
  }
  </code></pre>
  
  <p>but now I need to go out of my way to define the implementations of the interface.  Can I achieve the same thing with delegates and simple methods?</p>