+checkLoops :: SCC RenamedTyClDecl
+ -> TcM (Name -> AlgTyConFlavour -> RecFlag)
+-- Check for illegal loops,
+-- a) type synonyms
+-- b) superclass hierarchy
+--
+-- Also return a function that says which tycons are recursive.
+-- Remember:
+-- a newtype is recursive if it is part of a recursive
+-- group consisting only of newtype and synonyms
+
+checkLoops (AcyclicSCC _)
+ = returnM (\ _ _ -> NonRecursive)
+
+checkLoops (CyclicSCC decls)