Cordelia V. Hall: A framework for optimising abstract data types. Functional Programming 1993: 43-57