[Haskell-cafe] catamorphisms and attribute grammars