some improvements on AST Expression generation