Async<Result<'ok, 'leftError>> -> Async<Result<'ok, 'rightError>> -> Async<Result<'ok, 'leftError * 'rightError>>
let result = AsyncResult.zipError (AsyncResult.ok 1) (AsyncResult.ok 2)
// async { Ok 1 }
let result = AsyncResult.zipError (AsyncResult.ok 1) (AsyncResult.error "Bad")
// async { Ok 1 }
let result = AsyncResult.zipError (AsyncResult.error "Bad1") (AsyncResult.error "Bad2")
// async { Error("Bad1", "Bad2") }