('a -> Async<Result<'b,'c>>) -> 'a list -> Async<Result<'b list, 'c list>>
traverse is the same as
map >> sequence. See also List.sequenceAsyncResultA.
This is applicative, collecting all errors.
This is the same as traverseResultA except that it uses
Async<Result<_,_>> instead of
See also Scott Wlaschin's Understanding traverse and sequence.