`fun foo(rs: ListK<IO<Resource>>): IO&...
# arrow
b
fun foo(rs: ListK<IO<Resource>>): IO<ListK<MappedResource>> = rs.map(...).traverse(IO.applicative()) { it }.fix()
terminates on the first failing
IO<Resource>
entry when run, right? I.e. if I wanted to run all
IO<Resource>
and collect the results regardless of the failure of each I'd need a different construct?