Abstract
Software development often consists of designing datatypes around which functionality is
added. Some functionality is datatype specific, whereas other functionality is defined on
almost all datatypes in a way that depends only on the structure of the datatype. A function
that works on many datatypes in this manner is called a generic (or
... read more