.gitignore: ignore .rust file
separate normalizer and AST constructor
replace ~[] with Vec
refactor tests