"When is an abstract data type a functor?"

Pablo Nogueira (2006)
a service of Schloss Dagstuhl - Leibniz Center for Informatics