- concat (map f x)
- map g (map f x)
- putStr . (++) "\n"
Often this is because the new user is unfamiliar with the existance of a particular function, of course they can Hoogle it, if they thought it might exist, but often it never occurs to them.
The solution is Haskell Suggest, have a tool that automatically spots and suggests these things. I think the best implementation would be using Yhc Core for a couple of reasons, its relatively unmodified (no advanced transformations like inlining), has source positions and is simple.
Sounds like a good idea to go and implement.... Credits to dons for discussing this on Haskell IRC.