Noam Postavsky writes: > Now, I can see that letting stream0 automagically get access to the > unfolded result can be an optimization in some cases, although in this > case it's a pessimization. stream.el is at its core just an implementation of lazy-cons cells, so not letting stream0 get access to the result would mean changing the core implementation (I'm not necessarily against it). If we accept that `seq-elt', and other positional functions of seq.el should not work on streams, then I could rewrite stream.el to make it a positioned stream where previous elements are discarded after each element generation. However the list of supported functions from seq.el API would be significantly reduced. > It could also affect the semantics if unfolding the stream has side > effects, not sure if stream.el makes guarantees about that though. No, it doesn't. Nico