An optimization for improved performance is to replace CLOS objects by KnowledgeWorks structures when the objects are not needed outside the rules, or the full power of object-oriented programming is not required. Within rules they behave the same, although they are not proper CLOS objects. This is discussed in detail in Optimization.
KnowledgeWorks and Prolog User Guide (Macintosh version) - 24 Mar 2017