ちなみにgeneric programmingとgenericsの区別がつかない人は

http://www.cs.uu.nl/research/projects/generic-haskell/

でも見てね。