Add function definitions and AST node types