anchor.diff:                      ,id)))))
   
   
  -(define-ir-class IRObject (auto-servant)
  +(define-ir-class IRObject (CORBA:IRObject auto-servant)
     :id "IDL:omg.org/CORBA/IRObject:1.0"
     :attributes ()
     :defaults ())
   
  -(define-ir-class IDLType (IRObject)
  -  :id "IDL:omg.org/CORBA/IDLType:1.0"
  -  :attributes ()
  -  :slots ((type :initarg :type))
  -  :defaults ())
  -
  -(defgeneric idltype-tc (idltype)
  +(defclass irtypecode-mixin ()
  +  ((type)))
  +
  +(defgeneric idltype-tc (irtypecode-mixin)
     (:documentation
  -   "Compute the TypeCode for an IDLType from the attributes other than type."))
  -
  -(define-method type ((def IDLType))
  +   "Compute the TypeCode from the attributes other than type."))
  +
  +(define-method type ((def irtypecode-mixin))
     (unless (slot-boundp def 'type)
       (setf (slot-value def 'type)
         (idltype-tc def)))
     (slot-value def 'type))
   
  +(defmethod slot-updated :after ((obj irtypecode-mixin))
  +  (slot-makunbound obj 'type))
  +
  +
  +(define-ir-class IDLType (CORBA:IDLType IRObject irtypecode-mixin)
  +  :id "IDL:omg.org/CORBA/IDLType:1.0"
  +  :attributes ()
  +  :defaults ())
  +
    
   ;;;; Contained
   
  -(define-ir-class Contained (irobject)
  +(define-ir-class Contained (CORBA:Contained irobject)
     :id "IDL:omg.org/CORBA/Contained:1.0"
  -  :attributes ((id :readonly
  +  :attributes ((id :readonly            ; FIXME: shouldn't be readonly
                      :initarg :subject-id
                      :accessor subject-id)
                  (name "")
  
positive.code: ;;;                       );
  
  (define-method create_enum ((self container)
                              id name version members)
    (addto self (make-instance 'enum-def
                  :id id :name name :version version
                  :members members)))
  
negative.code: (define-method create_fixed ((container Repository) digits scale)
    (make-instance 'fixed-def
      :digits digits
      :scale scale))
  
  
  ;;;; ModuleDef
  
  (define-ir-class module-def (CORBA:ModuleDef container contained)
    :id "IDL:omg.org/CORBA/ModuleDef:1.0"
    :def_kind :dk_module
    :defaults ())
  