- [ ] introduce the mandatory main function - [ ] update how the stack works, so it handles the main function, and the return from the main, somehow (or keep it as a separate command 'exit'?) - [ ] ensure all basic blows are part of a function and can be clearly identified as such (perhaps via compound names such as `@foo.entry`) - [ ] design decisions documented - [ ] verify that the main function is always present - [ ] check that IR code satisfies these properties
@foo.entry)