Scrap your boilerplate: A practical design pattern for generic programming (2003)

by Ralf Lämmel, Peyton Jones, Simon
Venue:Pages 26–37 of: Proceedings of TLDI 2003