Whether two types can be compared, e.g. as a pair of join keys: they must be in the same comparison class, where the abstract Date also compares with StrictDate and DateTime.

NOTE: StrictDate and Timestamp are not compatible. The engine runs such a comparison, but it only ever matches timestamps at midnight. The engine compiles == between any two types, so this check can't be left to it.