While working on text processing again I made another attempt at writing an InputRange buffer.
Instead of complex reference counting, that would be needed to define save it only 'fixes' foreach, i.e. one can use foreach to peek at the input range without actually consuming input. https://gist.github.com/2187220