anchor.diff:  
       if (_isNumber(firstOp, 0)) {
         return firstOp; // = 0
  -    }
  -
  -    if (_isNumber(secondOp, 0)) {
  -      throw new IntegerDivisionByZeroException();
       }
   
       if (_isNumber(secondOp, 1)) {
  
positive.code: 
      if (_isNumber(secondOp, 0)) {
        return firstOp;
      }
  
      return new Minus(firstOp, secondOp);
  
negative.code:     if (_isNumber(secondOp, 0)) {
        return firstOp;
      }
      
      if (secondOp is UnaryMinus) {
        return firstOp - secondOp.exp; // a + -(b) = a - b
      }
  
      return new Plus(firstOp, secondOp);
      //TODO -a + b = b - a
  