I have to rewrite semant, in order to get a clean AST