Type lubType = (Type) TypeLattice.lattice().leastUpperBound(
getType(), rightArgument.getType());
// If the LUB is a new type, try it.
if (lubType != null && !lubType.equals(getType())) {
Token lub = lubType.convert(this);
// Caution: convert() might return this again, e.g.
// if lubType is general. Only proceed if the conversion
// returned a new type.
if (!(lub.getType().equals(getType()))) {