(maint) Fix regression - negative string length came back after merge.

This was a manual merge mistake.
(perf) Make small optimization to lexer by avoiding extra array

This removes the extra array being created for every token returned
from the lexer - the token is already an array with the correct
content.