Simplifies an AST by performing all operations that are statically known and changes the AST accordingly (eg "0+1" -> "1")
This visitor implements a simple partial evaluator for the program
compile-time metamodel.