+str: Implement efficient stream op DSL

Explanation in the doc comment for Interpreter
When you are talking about “degenerate cases” you always mean extremely long operation chains, right? I am by far not through with reading this PR, but the impression I got so far is that for short operation chains no call stack explosion should be possible, correct?