Fix 2D array in string() call

Before this commit, calling string(some_2d_array[1, 2]) will cause an
error because string is considered a macro, and macro parsing didn't
track bracket levels.