title: SortedSet<T> and anonymous IComparer<T> in the constructor is not working
body: <p>How come anonymous functions works as arguments on methods, but not in constructor arguments?</p>
  
  <hr>
  
  <p>If I create a <code>List&lt;string&gt;</code>, it has a Sort method with the following signature:</p>
  
  <pre><code>public void Sort(IComparer&lt;T&gt; comparer)
  </code></pre>
  
  <p>where the following works:</p>
  
  <pre><code>List&lt;string&gt; list = new List&lt;string&gt;();
  list.Sort( (a,b) =&gt; a.CompareTo(b) );
  </code></pre>
  
  <p>SortedSet has a constructor with a similar signature:</p>
  
  <pre><code>public SortedSet(IComparer&lt;T&gt; comparer)
  </code></pre>
  
  <p>but this fails when using an anonymous function in the constructor. The following is not valid:</p>
  
  <pre><code>SortedSet&lt;string&gt; set = new SortedSet&lt;string&gt;( (a, b) =&gt; a.CompareTo(b) );
  </code></pre>
  
  <p>Creating a sorting class works fine as expected:</p>
  
  <pre><code>public class MyComparer : IComparer&lt;string&gt;
  {
      public int Compare(string a, string b)
      { return a.CompareTo(b); }
  }
  
  SortedSet&lt;string&gt; set = new SortedSet&lt;string&gt;( new MyComparer() );
  </code></pre>