evaluated. Result is emitted over the Stream. Threading via Arrow Fx Coroutines: parMapN, parTupledN, evalOn, parTraverse, parSequence... etc. val s = Stream.effect { // any suspended effect parMapN(op1, op2, op3) { speakers, rooms, venues -> Event(speakers, rooms, venues) } } s.drain()