I had introduced a bad optimization during IR build phase. It assumed
all Strings could be built out of order but I did not account for the
fact that the same StrNode could be referenced by two instructions at
the same time (since each occurrence will perform a dup).
Note: It might look like I removed FrozenStrings from building out of
order but the ordinary logic in buildWithOrder will end up creating
the operand in place and not generating the copy since it is an