Add `modules` to AST and parser