Chapter 11: Generic Generation of the Elements of Data Types. - Koopman, Pieter; Plasmeijer, Rinus (Trends in Functional Programming Volume 6, 2007)