asyncChoose Computational Expression

A simple computational expression to deal with asynchronous calls that return a choice type to signal failure. Useful for calling remote services that may fail - you can call the remote service with functions of type "request -> Async<Choice<'success, 'fail>>" and then chain the results together.