Now we use this AsyncHttp function to create a list of async downloads:

/// Async<string * string> list

let downloads =

["http://www.google.com";

"http://www.twitter.com";

"http://www.nytimes.com/";

"http://www.navision-blog.de/";

"http://www.nba.com/"]

|> List.map AsyncHttp

The next step is to convert the list of async calls into a list of observables and to merge this list into a single IObservable. The effect is that whenever one download is completed we will be notified about the result: