The purpose of this paper is to describe how some theorems about constructions in categories can be seen as a way of doing generic programming. No prior knowledge of category theory is required to understand the paper. We explore the class of nite presheaf categories. Each of these categories can be seen as a type or universe of structures parameterized by a diagram (actually a nite category) C. Examples of these categories are: graphs, labeled graphs, nite automata and evolutive sets. Limits and colimits are very general ways of combining objects in categories in such a way that a new object is built and satis es a certain universal property. When con- centrating on nite presheaf categories and interpreting them as types or structure...