I've tried the change but there was no measurable change in performance. And I think we lose clarity with changes such as:
```diff
-          name_token = tokens[ix..-1].find { |t| t.text == name.to_s }
-          positions_not_to_check << name_token.pos
+          name_token = tokens[ix..-1].find { |t| t[1][0] == name.to_s }
+          positions_not_to_check << name_token[1][1]
```
The `Token` class was intruduced at one point to get away from the obscure array indexing. I think it's still valid.