Two reasons. One, I wanted to change his code as little as possible. Two, variable insertion is actually less efficient than that string manipulation: this one just grabs a pointer offset and evaluates a line of code, where as variable insertion has to read the value of the variable, calculate it's position in the variable name, fetch the pointer for the new offset, and return that pointer.