Add the closed type family `Cast`.
Revert (parts of) "Checkpoint. Writing castTyCon in TysPrim."

This reverts commit 2a2c9bc5d700e08de19f3b4fa661544cc901bd4f.

Conflicts:
	compiler/prelude/TysPrim.lhs
Allow mkTcEqPred to be called with heterogeneous types!