Move zonking out of tcFamTyPats
In tcFamTyPats we were zonking from the TcType world to the Type world, ready to build the results into a CoAxiom (which should have no TcType stuff. But the 'thing_inside' for tcFamTyPats also must be zonked, and that zonking must have the ZonkEnv from the binders zonked tcFamTyPats. Ugh. This caused an assertion failure (with DEBUG on) in RaeBlobPost and TypeLevelVec, both in tests/dependent, as shown in Trac #12682. Why it hasn't shown up before now is obscure to me. So I moved the zonking stuff out of tcFamTyPats to its three call sites, where we can do it all together. Very slightly longer, but much more robust.
Showing with 47 additions and 31 deletions