## [Function.go](Function.go) This is the "heart" of the compiler. Each function runs [Compile](Compile.go) which organizes the source code into an abstract syntax tree that is then compiled via [CompileAST](CompileAST.go). You can think of AST nodes as the individual statements in your source code.