- Add assertion methods !!!
we want to make sure functions get passed correct values
just like the symtab module, create another error
module,
that can provide functionality to functions by being passed
around as an injected dependency
- abort program from anywhere (assertions)
- propagate error information (no return values for errors)