Congruence of Method Argument Lists
All methods of a generic function must have congruent argument lists
args are congruent when
- there are the same number of required args
- there are the same number of optional args
- use of &rest and &key compatible
CLOS signals error if you try to define a method whose arglist isn’t congruent