Teach canonicalizer about casted types and hetero equalities.
Rewrite tcTyClsDecls, again. This time, it's much simpler.
dcSourceArity should really be the source arity!
Debugging output, but it seems useful enough to keep.
Integrate better with dependent equalities on DataCons