[Haskell-cafe] Newbie question: Why gfoldl has this strange type?