-\begin{code}
-
--- Derive a name for the representation type constructor of a data/newtype
--- instance.
---
-mkInstTyTcOcc :: Unique -- Unique
- -> OccName -- Local name (e.g. "Map")
- -> OccName -- Nice unique version (":T23Map")
-mkInstTyTcOcc uniq occ
- = mk_deriv varName (":T" ++ show uniq) (occNameString occ)
-
--- Derive a name for the coercion of a data/newtype instance.
---
-mkInstTyCoOcc :: Unique -- Unique
- -> OccName -- Local name (e.g. "Map")
- -> OccName -- Nice unique version ("Co23Map")
-mkInstTyCoOcc uniq occ
- = mk_deriv varName ("Co" ++ show uniq) (occNameString occ)