@Nonnull
	@Override
	public ReValue mergeWith(@Nonnull ReValue other) throws IllegalValueException {
		if (other == UninitializedValue.UNINITIALIZED_VALUE)
			return other;
		else if (other instanceof ArrayValue otherArray) {
			if (getFirstDimensionLength().isPresent() && otherArray.getFirstDimensionLength().isPresent()) {
				int dim = getFirstDimensionLength().getAsInt();
				int otherDim = otherArray.getFirstDimensionLength().getAsInt();
				if (dim == otherDim)
					return ArrayValue.of(type, nullness.mergeWith(otherArray.nullness()), dim);
			}
			return ArrayValue.of(type, nullness.mergeWith(otherArray.nullness()));
		} else if (other instanceof ObjectValue otherObject) {
			return ObjectValue.VAL_OBJECT;
		}
		throw new IllegalValueException("Cannot merge with: " + other);
	}
Array value holder implementation.

@author Matt Coley
recaf-core/src/main/java/software/coley/recaf/util/analysis/value/impl/ArrayValueImpl.java