This discussion points to a wider issue: at some stage we should look at pulling all the nice "new" stuff into Haskell prelude. I'm looking at you, Data.Foldable,Traversable. Also, throw out `map`. ;)