Generic functional programming with types and relations (1996)

by Richard Bird, Oege De Moor, Paul Hoogendijk
Venue:Journal of Functional Programming