+{- TODO: Version from Tom's original patch. Unfortunately, we cannot do it this
+ way, but need to teach boxy splitters about match deferral and coercions.
+ = do { elt_tv <- newBoxyTyVar argTypeKind
+ ; let elt_ty = TyVarTy elt_tv
+ ; coi <- boxyUnify (mkTyConApp listTyCon [elt_ty]) res_ty
+ -- ; elt_ty <- boxySplitListTy res_ty
+ ; exprs' <- mappM (tc_elt elt_ty) exprs
+ ; return $ wrapExprCoI (ExplicitList elt_ty exprs') coi }
+ -- ; return (ExplicitList elt_ty exprs') }
+ where
+ tc_elt elt_ty expr = tcPolyExpr expr elt_ty
+ -}