title: Error in Linq Query when using anonymous return on List
body: <p>I have the following linq query, where I want to return the total number of each StatusType as a list.</p>
  <pre><code>    public async Task&lt;ServiceResponse&lt;IList&lt;(StatusType StatusType, int Count)&gt;&gt;&gt; GetSummaryByStatusTypeAsync()
      {
          Func&lt;Task&lt;IList&lt;(StatusType StatusType, int Count)&gt;&gt;&gt; func = async () =&gt;
          {
              using (var context = _contextFactory())
              {
                  var items = (await context.ToListAsync&lt;Job&gt;(x =&gt; x
                                  .Include(y =&gt; y.Status)))
                              .GroupBy(x =&gt; x.Status.StatusType)
                              .Select(x =&gt; new
                              {
                                  StatusType = x.Key,
                                  Count = x.Count()
                              }).ToList();
  
                  return items;
              }
          };
  
          return await this.ExecuteAsync(func);
      }
  </code></pre>
  <p>However, I get the errors;</p>
  <blockquote>
  <p>CS0266    Cannot implicitly convert type
  'System.Collections.Generic.List&lt;&lt;anonymous type: Core.StatusType
  StatusType, int Count&gt;&gt;' to
  'System.Collections.Generic.IList&lt;(Core.StatusType StatusType, int
  Count)&gt;'. An explicit conversion exists (are you missing a cast?)</p>
  <p>CS4010    Cannot convert async lambda expression to delegate type
  'Task&lt;IList&lt;(StatusType StatusType, int Count)&gt;&gt;'. An async lambda
  expression may return void, Task or Task, none of which are
  convertible to 'Task&lt;IList&lt;(StatusType StatusType, int Count)&gt;&gt;'.</p>
  </blockquote>