IO: you say result and finish
IOas in a single element effect, vs multiple
zipexcept that it allows the two to be concurrent rather than sequential
hold, combine the signals applicatively with
mapN, then get a Stream back with
If the source stream is empty, the resulting signal will always be initial.