scc :: (Eq a) => Graph a -> [Graph a] sccEq :: EqOp a -> Graph a -> [Graph a] type Graph a = Assoc a [a]
A reusable wrapper function, that applies scc
to declarations is
used in the type checker:
sccD :: (Eq i, FreeNames i d, DefinedNames i d) => [d] -> [[d]]