In order to reduce potential package dependencies and conflicts,
generics provides a number of commonly used S3 generics.
