[add travCollect
John Meacham <john@repetae.net>**20060429022026] hunk ./Util/Gen.hs 5
+import Control.Monad.Writer
+import Control.Monad.Identity
hunk ./Util/Gen.hs 15
+
+
+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)
+
+