Now have more a formal type system that actually evaulates the code in a preprocessor step