public static IObservable<string> Search_ConcatingTasks(string term)
{
var searchEngineA = new SearchEngineA();
var searchEngineB = new SearchEngineB();
IObservable<IEnumerable<string>> resultsA = searchEngineA.SearchAsync(term).ToObservable();
IObservable<IEnumerable<string>> resultsB = searchEngineB.SearchAsync(term).ToObservable();
return resultsA
.Concat(resultsB)
.SelectMany(x => x);
}