anchor.diff:  
   ;; Lisp function to encode a Slot. It wraps the above 3 property calls
   (defun encode-cimxml-slot (slot &optional value)
  -  (let ((type (cim-slot-type slot)))
  +  (if (listp slot)
  +      (destructuring-bind (slot-name slot-value slot-type) slot
  +	(encode-cimxml-slot* slot-name slot-value slot-type))
  +      (let ((type (cim-slot-type slot)))
   	(cond
   	  ((and (listp type) (eq (car type) 'array))
   	   (encode-cimxml-property.array slot value))
  
positive.code:    `(("ObjectName" ,object-name ,(cond
  								  ((cim-instance-p object-name)
  								   :value.namedinstance)
  								  ((typep object-name 'cim-class)
  								   :class)
  								  (t (error "OBJECT-NAME must be a CIM-INSTANCE or a CIM-CLASS"))))
  	 ,@(when assoc-class `(("AssocClass" ,assoc-class :classname)))
  	 ,@(when result-class `(("ResultClass" ,result-class :classname)))
  	 ,@(when role `(("Role" ,role :value)))
  
negative.code: ;;    %CIMName;
  ;;    %SuperClass;>
  (defun encode-cimxml-class (class)
    (declare (type cim-class-declaration class))
    (let ((super-class (cim-class-declaration-superclass class)))
  	(if super-class
  	    (eformat "<CLASS NAME=\"~A\" SUPERCLASS=\"~A\">~%"
  		     (cim-name class)
  		     super-class)
  		(eformat "<CLASS NAME=\"~A\">~%" (cim-name class))))
    (dolist (qualifier (cim-qualifiers class))
  	(destructuring-bind (q . v) qualifier
  	  (encode-cimxml-qualifier q v)))
    (dolist (slot (cim-class-declaration-slots class))
  	(encode-cimxml-slot slot))
    (dolist (method (cim-class-declaration-methods class))
  	(encode-cimxml-method method))
    (eformat "</CLASS>~%"))
  
  