CLOS and C++: There is certainly a huge difference between CLOS and C++ but with respect to the Law, CLOS and C++ are not that far apart: In C++ also all arguments are used to determine which method (called a member function) to execute. The difference is that in C++ the argument types (after the first) are used to determine the member function at compile-time. I.e., C++ uses static method selection. The first argument in a method of a derived class is used for implicit case analysis at run-time. In other words: CLOS supports implicit case analysis on all required arguments, while C++ supports implicit case analysis only on the first argument. Both C++ and CLOS support function overloading on all required arguments. For C++ the message passing formulation of the Law is appropriate. We view the compile-time method selection of C++ due to overloading as syntactic sugar. We could always rename the methods by prefixing their names with argument types to avoid the need of overloading. But CLOS is inherently more powerful: it does true implicit case analysis on all the method selection arguments. Therefore we need for CLOS the generalization of the Law as proposed.