concept — description of supported operations on a type (generic programming)