+1 in general, but I would prefer a tuple over a type. I already use a similar helper in my own projects which uses a tuple with labels and that works great. I don't buy the documentation argument and a new type also comes with downsides like not being able to backdeploy.
make NewStream a typealias for a tuple.
I personally don't think a typealias is even needed. The tuple elements can just be documented on the makeStream() method.