nothing unusual code folding plus updating to replace internal next() of lexer and parser for streams and arrays in advance