title: Can´t have two methods with same signature but different generic constraints
body: <p>I have this method:</p>
  
  <pre><code>public IEnumerable&lt;MyType&gt; DoSomething&lt;TResult&gt;(Func&lt;MyType, TResult&gt; func) 
      where TResult : AnotherType
  </code></pre>
  
  <p>Now I want this method to also appear for <code>IEnumerable&lt;AnotherType&gt;</code>. So I wrote this which apparently doesn´t compile:</p>
  
  <pre><code>public IEnumerable&lt;MyType&gt; DoSomething&lt;TResult&gt;(Func&lt;MyType, TResult&gt; func) 
      where TResult : IEnumerable&lt;AnotherType&gt;
  </code></pre>
  
  <p>I get the compiler-error:</p>
  
  <blockquote>
    <p>Member with the same signature already declared</p>
  </blockquote>
  
  <p>I read <a href="https://stackoverflow.com/a/15367091/2528063">Member with the same signature already defined with different type constraints</a> which deals members with another return-type. However in my example I don´t distinguish on the methods return-type but on its param-list which is <code>Func&lt;MyType, TResult&gt;</code> in the first place and <code>Func&lt;IEnumerable&lt;MyType&gt;, TResult&gt;</code> in the second one. However the compiler can´t handle this.</p>
  
  <p>Is there another way than having another method-name for the second example?</p>