In order to do that, I'd need to do `text = text.dup` at the start of the function; otherwise, gsub! would cause side effects on the original string, and that seems like asking for trouble. I'll add the dup call for now; I just benchmarked it, and it makes a difference of 5/100 sec. on 10,000 calls of the function, which I'm assuming is indistinguishable from random fluctuations.