title: Observable.Using with async Task
body: <p>I have used Observable.Using with methods that return an IDisposable in the way:</p>
  
  <pre><code>Observable.Using(() =&gt; new Stream(), s =&gt; DoSomething(s));
  </code></pre>
  
  <p>But how would we proceed when the stream is created asynchronously? Like in this:</p>
  
  <pre><code>Observable.Using(async () =&gt; await CreateStream(), s =&gt; DoSomething(s));
  
  async Task&lt;Stream&gt; CreateStream() 
  {
      ...
  }
  
  DoSomething(Stream s)
  {
      ...
  }
  </code></pre>
  
  <p>This doesn't compile because it says that <code>s</code> is <code>Task&lt;Stream&gt;</code> instead a <code>Stream</code>.</p>
  
  <p>What's the deal?</p>