Perhaps this discomfort points to another possible way forward: remove from the Prelude all functions that were formerly list-y, and now Foldable/Traversable. Make it so that you must import Data.List if you want the List versions, or Data.Foldable if you want the generalised versions. Of course, it would be a change causing a lot of breakage in existing code, but then, I have never experienced a major release of ghc that did not break existing code. Regards, Malcolm On 04 Feb, 2015,at 04:14 PM, Christopher Done <chrisdone@gmail.com> wrote: Looking at the generalizations in Data.List I find them pretty odd now when I think about it. I'd expect Data.List functions to be monomorphic to lists, just like I expect functions in Data.Map to be monomorphic to maps. Now there might be generalized versions of these functions in e.g. the Prelude, but generalizing Data.List means that I don't even have the monomorphic versions available if I want to resolve ambiguity by using them*. Sums up my feelings exactly. Data.Map, Data.List, etc. should be monomorphic. Adding generalized functions in Data.List is a little baffling. _______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries