Note: Lexer need access to parser’s context to lex correctly.
Clone should be cheap if you are parsing typescript because typescript syntax requires backtracking.