anchor.diff:    (if (typep (first direct-slotds) 'direct-property-slot-definition)
         (nconc 
          (list :pname (signal-name-to-string 
  -		     (most-specific-slot-value direct-slotds 'pname))
  -	     :readable (most-specific-slot-value direct-slotds 'readable)
  -	     :writable (most-specific-slot-value direct-slotds 'writable)
  -	     :construct (most-specific-slot-value direct-slotds 'construct))
  +		     (most-specific-slot-value direct-slotds 'pname
  +		      (slot-definition-name (first direct-slotds))))
  +	     :readable (most-specific-slot-value direct-slotds 'readable t)
  +	     :writable (most-specific-slot-value direct-slotds 'writable t)
  +	     :construct-only (most-specific-slot-value direct-slotds 
  +                              'construct-only nil))
          (call-next-method))
       (call-next-method)))
   
  +
  +(defvar *ignore-setting-construct-only-property* nil)
  +(declaim (special *ignore-setting-construct-only-property*))
   
   (defmethod initialize-internal-slot-functions ((slotd effective-property-slot-definition))
     (let ((type (slot-definition-type slotd))
  
positive.code: 		 (funcall reader  gvalue +gvalue-value-offset+)
  		 (gvalue-free gvalue t)))))))
      
      (when (and (not (slot-boundp slotd 'setter)) (slot-writable-p slotd))
        (setf 
         (slot-value slotd 'setter)
         (let ((writer nil))
  	 #'(lambda (value object)
  	     (unless writer
  	       (setq writer (writer-function type)))
  	     (let ((gvalue (gvalue-new type)))
  	       (funcall writer value gvalue +gvalue-value-offset+)
  	       (%object-set-property object pname gvalue)
  	       (gvalue-free gvalue t)
  	       value))))))
  
    (call-next-method))
  
  
negative.code: 
  (defclass direct-property-slot-definition (direct-virtual-slot-definition)
    ((pname :reader slot-definition-pname :initarg :pname)
     (readable :reader slot-readable-p :initarg :readable)
     (writable :reader slot-writable-p :initarg :writable)
     (construct-only :initarg :construct-only :reader construct-only-property-p)))
  
  (defclass effective-property-slot-definition (effective-virtual-slot-definition)
    ((pname :reader slot-definition-pname :initarg :pname)
     (readable :reader slot-readable-p :initarg :readable)
     (writable :reader slot-writable-p :initarg :writable)
     (construct-only :initarg :construct-only :reader construct-only-property-p)))
  
  (defclass direct-user-data-slot-definition (direct-virtual-slot-definition)
    ())
  