title: Nested Func cannot be inferred from usage
body: <p><strong>Q: Why can the generic arguments to Inferred not be inferred?</strong></p>
  
  <p>When looking at the example below the type <code>T</code> can be inferred as <code>Instance</code> and we can see that we need that method with no arguments which is also supplied. That method returns an <code>TOut</code> which must be an <code>int</code> since we cannot have overloads on return types.</p>
  
  <pre><code>public class Instance
  {
      public int Convert()
      {
          return 42;
      }
  }
  
  public static class Example
  {
      public static void Inferred&lt;T, TOut&gt;(T source, Expression&lt;Func&lt;T, Func&lt;TOut&gt;&gt;&gt; expression)
      {
      }
  
      public static void Usage()
      {
          var instance = new Instance();
          Inferred(instance, x =&gt; x.Convert);
      }
  }
  </code></pre>