[fix travCollect routine
John Meacham <john@repetae.net>**20070605014643] hunk ./Util/Gen.hs 22
-
-travCollect :: Monoid w => (forall m . Monad m => (a -> m a) -> a -> m a) -> (a -> w) -> a -> w
-travCollect fn col x = execWriter (fn (\x -> tell (col x) >> return x) x)
+travCollect :: Monoid w => ((a -> Writer w a) -> a -> Writer w a) -> (a -> w) -> a -> w
+travCollect fn col x = execWriter (f x) where
+    f x = tell (col x) >> fn f x