anchor.diff:  
     HType computeType() {
       HType inputsType = computeInputsType();
  -    if (!inputsType.isUnknown()) return inputsType;
  +    if (inputsType.isKnown()) return inputsType;
       if (left.isInteger()) return HType.INTEGER;
       return HType.UNKNOWN;
     }
  
positive.code:   HType computeType() {
      HType computedType = computeInputsType();
      if (computedType.isConflicting() && left.isString()) return HType.STRING;
      if (!computedType.isUnknown()) return computedType;
      if (left.isNumber()) return HType.NUMBER;
      return HType.UNKNOWN;
    }
  
negative.code: 
    HType computeType() {
      HType inputsType = computeInputsType();
      if (inputsType.isKnown()) return inputsType;
      if (left.isNumber()) return HType.NUMBER;
      return HType.UNKNOWN;
    }
  