title: Cannot convert expression type 'lambda expression' to return type 'System.Linq.Expressions.Expression<System.Func<IProduct,string,bool>>'
body: <p>Ok, I'm lost.  Why is the 1st function WRONG (squiglies in the lambda expression), but the 2nd one is RIGHT (meaning it compiles)?</p>
  
  <pre><code>    public static Expression&lt;Func&lt;IProduct, string, bool&gt;&gt; IsValidExpression(string val)
      {
          return (h =&gt; h.product_name == val);
  
      }
  
      public static Expression&lt;Func&lt;IProduct, bool&gt;&gt; IsValidExpression2()
      {
          return (m =&gt; m.product_name == "ACE");
  
      }
  </code></pre>