Attached is a patch to implement the changes detailed in http://srfi-email.schemers.org/srfi-41/msg/3066997, which improves the performance of `stream-constant` compared to the reference implementation. It probably doesn't improve performance against the Guile version (which is already O(1) per element), but it's a cleaner implementation that removes the need for the `list?` shadowing hack in `list->stream`. This also removes support for circular lists for `list->stream` (which was never supported in the reference implementation, and was added as an implementation detail of `stream-constant` (which I originally implemented using circular lists). Comments welcome. Cheers, Chris.