- vect_tcs <- vectTyConDecls conv_tcs
- parr_tcs1 <- zipWithM buildPArrayTyCon keep_tcs keep_tcs
- parr_tcs2 <- zipWithM buildPArrayTyCon conv_tcs vect_tcs
- let new_tcs = vect_tcs ++ parr_tcs1 ++ parr_tcs2
+ new_tcs <- vectTyConDecls conv_tcs
+
+ let orig_tcs = keep_tcs ++ conv_tcs
+ vect_tcs = keep_tcs ++ new_tcs
+
+ parr_tcs <- zipWithM buildPArrayTyCon orig_tcs vect_tcs
+ pa_insts <- zipWithM buildPAInstance vect_tcs parr_tcs
+
+ let all_new_tcs = new_tcs ++ parr_tcs