tidy GenericAffExpr operators
definition is only safe if applied to instance of the same type