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