(PUP-4500) Ensure that common_type of String computes correct set of values
Two String types that are not assignable in any direction, where one of the
types have a set of values defined but the other one doesn't will yield a
common type where values is equal to the set of the former. This commit
ensures that the values set is empty if one of the given types have an
empty set of values.