Modularize the Rust AST
Add some AST tests