- tcdCons = DataCons cons, tcdDerivs = mb_derivs }) =
- do
- tc1 <- lookupOcc tc -- See note [Binders and occurrences]
- dec <- addTyVarBinds decTyConName tvs $ \bndrs -> do
- cons1 <- mapM repC cons
- cons2 <- coreList consTyConName cons1
- derivs1 <- repDerivs mb_derivs
- repData tc1 (coreList' stringTy bndrs) cons2 derivs1
- return $ Just dec
+ tcdCons = DataCons cons, tcdDerivs = mb_derivs })
+ = do { tc1 <- lookupOcc tc ; -- See note [Binders and occurrences]
+ dec <- addTyVarBinds tvs $ \bndrs -> do {
+ cons1 <- mapM repC cons ;
+ cons2 <- coreList consTyConName cons1 ;
+ derivs1 <- repDerivs mb_derivs ;
+ repData tc1 (coreList' stringTy bndrs) cons2 derivs1 } ;
+ return $ Just dec }
+
+repTyClD (TySynonym { tcdName = tc, tcdTyVars = tvs, tcdSynRhs = ty })
+ = do { tc1 <- lookupOcc tc ; -- See note [Binders and occurrences]
+ dec <- addTyVarBinds tvs $ \bndrs -> do {
+ ty1 <- repTy ty ;
+ repTySyn tc1 (coreList' stringTy bndrs) ty1 } ;
+ return (Just dec) }