title: Mixing LINQ with async (getting payload from a seed)
body: <p>I have a collection of seeds </p>
  
  <pre><code>var seeds = new [] {1, 2, 3, 4};
  </code></pre>
  
  <p>From each seed I want to run an async method that performs some calculation with the seed:</p>
  
  <pre><code>async Task&lt;int&gt; Calculation(int seed);
  </code></pre>
  
  <p>My goal is to perform a select like this:</p>
  
  <pre><code>var results = from seed in seeds
                let calculation = await Calculation(seed)
                select new { seed, calculation };
  </code></pre>
  
  <p>Unfortunately, this syntax isn't allowed using LINQ.</p>
  
  <p>How can I make the "results" variable contain both the seed and the calculation?</p>
  
  <p>(I would appreciate any answer, but specially if it's using System.Reactive's <code>Observable</code>)</p>