Note that the standard method combination type does not support any arguments. The method-description arguments define methods that will be associated with the generic function . The form arguments specify the method body. The body of the method is enclosed in an implicit block . If function-name is a symbol , this block bears the same name as the generic function .
Implementations can extend defgeneric to include other options.
It is required that an implementation signal an error if it observes an option that is not implemented locally. In particular, the methods are not installed for invocation during compilation. If a defgeneric form is evaluated and some methods for that generic function have lambda lists that are not congruent with that given in the defgeneric form, an error of type error is signaled. A given option may occur only once, or an error of type program-error is signaled. Implementations can extend defgeneric to include other options.