One of the best "explanations" I have found of some of the advanced features of CLOS and its descendants is: "Advanced C++ Programming Styles and Idioms", by James O. Coplien In it, he essentially shows you why and how to construct, by hand, in C++ all the advanced mechanisms that are built in to CLOS.