+str: Implement efficient stream op DSL

Explanation in the doc comment for Interpreter
`getSimpleName` removes all package information so if you have classes with the same name in different packages it will be hard to tell them apart