* move numbers to the lexer
* avoid allocs inside structures by reallocating the whole structure
* let the various list types be hashtables where appropriate
* move numbers to the lexer
* avoid allocs inside structures by reallocating the whole structure
* let the various list types be hashtables where appropriate