In one approach, the programmer creating the linked list abstraction creates a generic ``link'' class, independent of any application.
The programmer who uses the list abstraction then subclasses from this generic class, in order to hold values specific to a particular problem.