An optimisation 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 Optimisation.