remove redundant arg checking code in Lexer, update Instruction to use RuntimeException instead of assert