Generic vectors implemented, lexer refactored to use them