If ty1 and ty2 are basic types, return the TY that ty1 can be implicitly converted to to bring them to a common ty. It's symmetric, i.e. the operands can be swapped.
first operand type
second operand type
ty = what ty1 should be converted to, else Terror
See Implementation
If ty1 and ty2 are basic types, return the TY that ty1 can be implicitly converted to to bring them to a common ty. It's symmetric, i.e. the operands can be swapped.