Async CTP Task.WhenAll issue
<p>I am stuck on something which appears simple but I cannot see what i'm doing wrong.  I have a simple class structure 'StaticQuote' which describes values returned from a complex calculation for which I am trying to find the lowest value.  Because the Calculate call is expensive I am creating an array of tasks so the calculations execute in parallel, and am then using a Task.WhenAll to wait until they have all finished before comparing the results (which are stored in StaticQuote objects).  The problem is that when trying to return the array of StaticQuotes I am getting the following error:</p>

<blockquote>
  <p>Cannot implicitly convert type <code>'System.Threading.Tasks.Task&lt;Services.QuoteGeneratorAsync.StaticQuote[]&gt;'</code> to <code>'Services.QuoteGeneratorAsync.StaticQuote[]'</code></p>
</blockquote>

<p>I have seen similar examples with strings etc where this assignment works perfectly so cannot understand which the right hand side is not returning an array of StaticQuote results?  I am new to multi threaded code and the Async CTP.  Can anyone provide the answer?  Many thanks.</p>

<p>example problem:</p>

<pre><code>List&lt;Task&lt;StaticQuote&gt;&gt; Calculations = new List&lt;Task&lt;StaticQuote&gt;&gt;();
foreach()
{
Calculations.Add(TaskEx.RunEx(() =&gt; Calculate(...my params....)));                                             
}
StaticQuote[] Quotes=TaskEx.WhenAll&lt;StaticQuote&gt;(Calculations);  --//this line won't compile
</code></pre>
