I’m really happy they included The Art of the Metaobject Protocol. Is an impressive book on how to design an object oriented layer.
It uses lisp as a base language, and demonstrates how some of lisp language facilities enable to do to incorporate an object oriented layer as a library (in other languages would have required to modify the language/runtime).
But where it really shines is it designs a protocol so objects can communicate among them and the meta programming capabilities.
Alan Kay said it is an excellent book (fully agree), but too hard (I don’t agree) and lisp centric (yes). Anyway, I found it essential for any OO programmer or anyone criticising OO systems.
By the way, the book is pricey, so a good alternative is this review by Richard P. Gabriel