title: F# async and anonymous functions
body: <p>I have a method that does some IO with this signature:</p>
  <pre><code>member this.IsRestaurantInCategoryAsync(restaurantName: string, restaurantAddress: string, restaurantCategory: string) =
      async { ///long running methods }
  </code></pre>
  <p>I want to invoke it in an anonymous function like so:</p>
  <pre><code>this.GetRestaurants()
          |&gt; Seq.filter(fun (name, address) -&gt; categoryRepository.IsRestaurantInCategoryAsync(name, address, category))
          |&gt; Seq.toList
  </code></pre>
  <p>The problem is that the IsRestaurantInCategoryAsync returns a <code>async&lt;bool&gt;</code>, not a <code>bool</code>. How do I have the <code>Seq.Filter</code> handle it?</p>
  <p>Should I cast the <code>async&lt;bool&gt;</code> to a <code>bool</code> using a let! so then I have to write a non-anonymous function to assign the return?</p>