Can we find a better name for this, e.g. `combineStringNodes` or something.  If we want to keep it we don't want to call it a "hack".  Also, if we only use it in the parser, let's move it there.