- ; let pat_ty' = mkTyConApp tycon ctxt_res_tys
- -- pat_ty /= pat_ty iff coi /= IdCo
- wrap_res_pat res_pat
- = mkCoPatCoI coi (unwrapFamInstScrutinee tycon ctxt_res_tys res_pat) pat_ty
+ ; let sym_coi = mkSymCoI coi -- boxy split coercion oriented wrongly
+ pat_ty' = mkTyConApp tycon ctxt_res_tys
+ -- pat_ty' /= pat_ty iff coi /= IdCo
+
+ wrap_res_pat res_pat = mkCoPatCoI sym_coi uwScrut pat_ty
+ where
+ uwScrut = unwrapFamInstScrutinee tycon ctxt_res_tys res_pat
+
+ ; traceTc $ case sym_coi of
+ IdCo -> text "sym_coi:IdCo"
+ ACo co -> text "sym_coi: ACoI" <+> ppr co