Emacs provides support for polymorphism, supporting "generic functions", like in CLOS.
According to Emacs manual:
A generic function specifies an abstract operation, by defining its name and list of arguments, but (usually) no implementation. The actual implementation for several specific classes of arguments is provided by "methods", which should be defined separately [...] by “specializing” the arguments defined by the generic function.
Unfortunately the manual does not give practical examples of a methods implementation once a generic function is defined.
Can you give such an example, implementing the standard OO paradigms through