+str: Implement efficient stream op DSL

Explanation in the doc comment for Interpreter
very cool; now we could have a more lazy one which takes an `f: In => Iterator[Out]`