anchor.diff:      (call-next-method)))
   
   
  -(defmethod shared-initialize ((class ginterface-class) names &key name gtype)
  +(defmethod shared-initialize ((class interface-class) names &key name gtype)
     (declare (ignore names))
     (let* ((class-name (or name (class-name class)))	 
   	 (type-number
  
positive.code:       collect (find-type-number type))))))
  
  
  (register-derivable-type 'ginterface "GInterface" 'expand-ginterface-type 'ginterface-dependencies)
  
negative.code:       (type-default-interface-unref iface))))
  
  
  (defun expand-interface-type (type forward-p options &rest args)
    (declare (ignore args))
    (let ((class (type-from-number type))
  	(slots (getf options :slots))) 
      `(defclass ,class (,(supertype type))
         ,(unless forward-p
  	  (slot-definitions class (query-object-interface-properties type) slots))
        (:metaclass interface-class)
        (:gtype ,(register-type-as type)))))
  
  (defun interface-dependencies (type options)
    (delete-duplicates 
     (cons
      (supertype type)
  