I also agree with you. See, for example, EMGM's use of generic versions of
Prelude functions.
What is EMGM?
My apologies for not providing the appropriate link.
http://www.cs.uu.nl/wiki/GenericProgramming/EMGM
In summary: datatype-generic programming using type classes with a sum-of-products view.
Sean