Generic programming. SuchThat one can build an algebraic library - Schupp, Sibylle (Eberhard-Karls-Universität, 1996)