title: Convert IEnumerable<Task<T>> to IObservable<T>
body: <p>I'm trying to use the Reactive Extensions (Rx) to buffer an enumeration of Tasks as they complete. Does anyone know if there is a clean built-in way of doing this? The <code>ToObservable</code> extension method will just make an <code>IObservable&lt;Task&lt;T&gt;&gt;</code>, which is not what I want, I want an <code>IObservable&lt;T&gt;</code>, that I can then use <code>Buffer</code> on.</p>
  
  <p>Contrived example:</p>
  
  <pre><code>//Method designed to be awaitable
  public static Task&lt;int&gt; makeInt()
  {
       return Task.Run(() =&gt; 5);
  }
  
  //In practice, however, I don't want to await each individual task
  //I want to await chunks of them at a time, which *should* be easy with Observable.Buffer 
  public static void Main() 
  {
      //Make a bunch of tasks
      IEnumerable&lt;Task&lt;int&gt;&gt; futureInts = Enumerable.Range(1, 100).Select(t =&gt; makeInt());
  
      //Is there a built in way to turn this into an Observable that I can then buffer?
      IObservable&lt;int&gt; buffered = futureInts.TasksToObservable().Buffer(15); //????
  
      buffered.Subscribe(ints =&gt; {
          Console.WriteLine(ints.Count()); //Should be 15
      });
  }
  </code></pre>