Breaks the Name/Id loop, and the Name/Id/PprType loop. \begin{code} interface NameLoop where import Id ( GenId ) import Outputable ( NamedThing, Outputable ) import TyCon ( TyCon ) import Type ( GenType ) import TyVar ( GenTyVar ) import Util ( Ord3(..) ) instance NamedThing (GenId a) instance Ord3 (GenId a) instance (Outputable a) => Outputable (GenId a) instance (Eq a, Outputable a, Eq b, Outputable b) => Outputable (GenType a b) instance Outputable (GenTyVar a) instance Outputable TyCon \end{code}