No, my implementation is more verbose then the general one, not more complex. There are less things that interact, so the expected behavior is simpler. I just think it's a lot easier to reason about two things than about n things. If you have something that works in a simple and reliable way for two things, there are established patterns for generalizing it to n things.

If you think that it's more convenient for the library user to not have to do that generalization, then I think there's an argument to be made for adding it to the library. But that does come at additional costs in testing and maintenance, so that's why I think we should think about just how much benefit there is. Given how finicky and unreliable I've found node streams to be, I'm hesitant to build anything more complex than is necessary with them.