
My branch panicking during stage 2 build and when I tried to debug I realized the panicking function is `unionTCvSubst`, when called by `expandTypeSynonyms`. In my branch I'm doing some type-based transformations and I'm using `expandTypeSynonyms` on type of identifiers for that. According to git blame logs, the function `unionTCvSubst` was added with kind equality patch. The patch made this change in `expandTypeSynonyms`: - = go (mkAppTys (substTy (mkTopTvSubst tenv) rhs) tys') + = let subst' = unionTCvSubst subst (mkTopTCvSubst tenv) in + go subst' (mkAppTys rhs tys') Which is what's causing the panic. The exact place it's panicking during the stage2 build is when I call `expandTypeSynonyms` on type `TvSubstEnv` (i.e. in my transformation I get type of an id and it turns out to be TvSubstEnv, when I call `expandTypeSynonyms` on this type it panics) I figured this much but I don't understand type system details, so, does anyone here have any ideas what's going wrong here? Richard? Note that this panic happens even though I don't do any changes in types - I'm just looking at the types for some transformations but no changes on the types are done.