isSubTypeOf

merge

Merges two values. The merge operation must return a value that
represents both values (for instance, if the two values are two types,
the merged value must be a common super type of the two types. If the two
values are integer intervals, the merged value must be an interval that
contains the previous ones. Likewise for other types of values).