code: private JSType reduceAlternatesWithoutUnion() {
      JSType wildcard = getNativeWildcardType();
      if (wildcard != null) {
        return containsVoidType ? null : wildcard;
      }
      int size = alternates.size();
      if (size > maxUnionSize) {
        return registry.getNativeType(UNKNOWN_TYPE);
      } else if (size > 1) {
        return null;
      } else if (size == 1) {
        return alternates.get(0);
      } else {
        return registry.getNativeType(NO_TYPE);
      }
    }
docs: Reduce the alternates into a non-union type.
  If the alternates can't be accurately represented with a non-union
  type, return null.