@Override
        public boolean equals(Object other) {
            if (this == other) return true;
            if (other == null || getClass() != other.getClass()) return false;
            return name.equals(((Dimension)other).name);
        }
Returns the dimension resulting from combining two dimensions having the same name but possibly different
types:

[N] + [M] = [ min(N, M) ]
[N] + [] = []
[] + {} = {}
vespajlib/src/main/java/com/yahoo/tensor/TensorType.java