Add type for AST
Add lisp to ast functions
Add functor instance for ast