For union when we have mismatched tzs or mismatched tzawareness, we cast to object.
For join when we have mismatched tzawareness we raise TypeError, with mismatched tzs we cast to UTC.
It would be convenient if these had the same behavior.