I'm really curious as to why rather than taking the obvious route of defining reduce on streams, stream-reduce! was defined as its own monomorphic function. Is it because the stream is consumed in the process?
reduce
stream-reduce!
Yes