title: Why can lambdas convert function calls into Actions?
body: <p>In this code fragment:</p>
  
  <pre><code>List&lt;String&gt; names = new List&lt;String&gt;();
  names.Add("Bruce");
  names.Add("Tom");
  names.Add("Tim");
  names.Add("Richard");
  
  names.ForEach(x =&gt; Print(x));
  
  private static string Print(string s)
  {
      Console.WriteLine(s);
      return s;
  }
  </code></pre>
  
  <p><code>Print</code> is not an <code>Action</code> for sure since it is returning <code>string</code>; however <code>x=&gt; Print(x)</code> is, why?</p>