mkTyConGenericBinds :: TyCon -> LHsBinds RdrName
mkTyConGenericBinds tycon
= unitBag (L loc (FunBind (L loc from_RDR) False {- Not infix -}
- (mkMatchGroup [mkSimpleHsAlt pat rhs | (pat,rhs) <- from_alts])))
+ from_matches placeHolderNames))
`unionBags`
unitBag (L loc (FunBind (L loc to_RDR) False
- (mkMatchGroup [mkSimpleHsAlt to_pat to_body])))
+ to_matches placeHolderNames))
where
+ from_matches = mkMatchGroup [mkSimpleHsAlt pat rhs | (pat,rhs) <- from_alts]
+ to_matches = mkMatchGroup [mkSimpleHsAlt to_pat to_body]
loc = srcLocSpan (getSrcLoc tycon)
datacons = tyConDataCons tycon
(from_RDR, to_RDR) = mkGenericNames tycon