In #3666, we gave up on the stream's chunk structure to maintain laziness on chunk elements.
A more optimal solution would maintain the chunk structure by executing the effects, accumulating the successful elements in a new chunk, and emit that chunk along with a failure if one occured.
This would probably mean emitting something like Chunk[Take[E, A]] and using flattenTake to unwrap the Take.