Fix type definition
Remove some useless stuff
Remove mapcar from ast.rs
Add modularization code
Update Makefile
Add annotated source code