add another foreach
refactor BinaryExpr.fix()