anchor.diff:    }
   
     HType intersection(HType other) {
  +    if (other.isConflicting()) return HType.CONFLICTING;
       if (other.isUnknown()) return HType.NUMBER_OR_NULL;
       if (other.isInteger()) return HType.INTEGER;
       if (other.isDouble()) return HType.DOUBLE;
  
positive.code:   }
  
    HType intersection(HType other) {
      if (other.isUnknown()) return HType.READABLE_ARRAY;
      if (other.isString()) return HType.CONFLICTING;
      if (other.isReadableArray()) return other;
  
negative.code:   }
  
    HType intersection(HType other) {
      if (other.isConflicting()) return HType.CONFLICTING;
      if (other.isString()) return HType.STRING;
      if (other.isStringOrNull()) {
        return canBeNull() ? HType.STRING_OR_NULL : HType.STRING;
  