[Layout wibble.
Lemmih <lemmih@gmail.com>**20080319154848] hunk ./Ho/Build.hs 399
-    countNodes (CompNode hh deps ref) = readIORef ref >>= worker
-        where worker (CompCollected _ _) = return Set.empty
-              worker (CompPhony) = mconcat `fmap` mapM countNodes deps
-              worker (CompHo _ hoh _) = do ds <- mconcat `fmap` mapM countNodes deps
-                                           return $ ds `Set.union` Set.fromList (map (show.fst) (hohDepends hoh))
-              worker (CompSources sc) = do ds <- mconcat `fmap` mapM countNodes deps
-                                           return $ ds `Set.union` Set.fromList (map sourceIdent sc)
+    countNodes (CompNode hh deps ref) = readIORef ref >>= \cn -> case cn of
+        CompCollected _ _ -> return Set.empty
+        CompPhony         -> mconcat `fmap` mapM countNodes deps
+        CompHo _ hoh _    -> do ds <- mconcat `fmap` mapM countNodes deps
+                                return $ ds `Set.union` Set.fromList (map (show.fst) (hohDepends hoh))
+        CompSources sc    -> do ds <- mconcat `fmap` mapM countNodes deps
+                                return $ ds `Set.union` Set.fromList (map sourceIdent sc)