anchor.diff:  
     Value minus(Value other) {
       if (other is SassNumber) {
  -      return _coerceUnits(other, (num1, num2) => num1 - num2);
  +      return new SassNumber(_coerceUnits(other, (num1, num2) => num1 - num2));
       }
       if (other is! SassColor) return super.minus(other);
       throw new InternalException('Undefined operation "$this - $other".');
  
positive.code:     }
  
      var value = this.value;
      var mutableDenominators = denominatorUnits.toList();
      for (var numerator in newNumerators) {
        removeFirstWhere(mutableDenominators, (denominator) {
          var factor = _conversionFactor(numerator, denominator);
          if (factor == null) return false;
          value *= factor;
          return true;
  
negative.code:       });
      }
  
      if (oldNumerators.isNotEmpty || oldDenominators.isNotEmpty) {
        throw new InternalException("Incompatible units "
            "${_unitString(this.numeratorUnits, this.denominatorUnits)} and "
            "${_unitString(newNumerators, newDenominators)}.");
      }
  
      return value;
    }
  
    SassBoolean greaterThan(Value other) {
      if (other is SassNumber) {
        return new SassBoolean(
            _coerceUnits(other, (num1, num2) => fuzzyGreaterThan(num1, num2)));
      }
      throw new InternalException('Undefined operation "$this > $other".');
    }
  
    SassBoolean greaterThanOrEquals(Value other) {
      if (other is SassNumber) {
        return new SassBoolean(_coerceUnits(
            other, (num1, num2) => fuzzyGreaterThanOrEquals(num1, num2)));
      }
      throw new InternalException('Undefined operation "$this >= $other".');
    }
  
    SassBoolean lessThan(Value other) {
      if (other is SassNumber) {
        return new SassBoolean(
            _coerceUnits(other, (num1, num2) => fuzzyLessThan(num1, num2)));
      }
      throw new InternalException('Undefined operation "$this < $other".');
    }
  
    SassBoolean lessThanOrEquals(Value other) {
      if (other is SassNumber) {
        return new SassBoolean(_coerceUnits(
            other, (num1, num2) => fuzzyLessThanOrEquals(num1, num2)));
      }
      throw new InternalException('Undefined operation "$this <= $other".');
    }
  
    Value modulo(Value other) {
      if (other is SassNumber) {
        return new SassNumber(_coerceUnits(other, (num1, num2) => num1 % num2));
      }
      throw new InternalException('Undefined operation "$this % $other".');
    }
  
    Value plus(Value other) {
      if (other is SassNumber) {
        return new SassNumber(_coerceUnits(other, (num1, num2) => num1 + num2));
      }
      if (other is! SassColor) return super.plus(other);
      throw new InternalException('Undefined operation "$this + $other".');
  