+str: Implement efficient stream op DSL

Explanation in the doc comment for Interpreter
some say that getSimpleName is broken, use full name instead