in reply to Haskell-style list folding

You might want to take a look at Language::Functional.