partial implementation of String compiler
finish String compiler
this typechecks, but is not really quite the same as the Scala code