How to make ad-hoc polymorphism less ad-hoc (1989)

by P Wadler, S Blott
Venue:In Principles of Programming Languages