anchor.diff:  
   (eval-when (:compile-toplevel :load-toplevel :execute)
     (defclass gobject-class (ginstance-class)
  -    ())
  +    ((instance-slots-p :initform nil
  +      :documentation "Non NIL if the class has slots with instance allocation")))
   
     (defmethod validate-superclass ((class gobject-class) (super standard-class))
   ;  (subtypep (class-name super) 'gobject)
  
positive.code: (defbinding %object-unref () nil
    (location pointer))
  
  (defmethod reference-foreign ((class gobject-class) location)
    (declare (ignore class))
    (%object-ref location))
  
  (defmethod unreference-foreign ((class gobject-class) location)
    (declare (ignore class))
    (%object-unref location))
  
  
  ; (defbinding object-class-install-param () nil
  
negative.code: 	   (user-data-p object slot-name)))))
    (call-next-method))
  
  (defmethod shared-initialize :after ((class gobject-class) names &rest initargs)
    (declare (ignore initargs))
    (when (some #'(lambda (slotd)
  		  (and
  		   (eq (slot-definition-allocation slotd) :instance)
  		   (not (eq (slot-definition-name slotd) 'location))))
  	      (class-slots class))
      (setf (slot-value class 'instance-slots-p) t)))
  
  
  
  ;;;; Super class for all classes in the GObject type hierarchy
  
  