Use @str instead of @~str in the compiler.

Fixes #5048.

I'm sure this reduces memory usage, but I can't get cgroups to work properly to actually measure memory. (It doesn't appear to offer much speed improvement, but I'm fairly sure it's not slower.)

This is quite huge, so it'd be nice to get a resolution soon.

(Currently a few of the tests are broken because of the type changes, just fixing them now.)