anchor.diff:      (deallocate-memory gvalue)))
   
   (defun gvalue-type (gvalue)
  -  (type-from-number (sap-ref-32 gvalue 0)))
  -
  -(defun gvalue-get (gvalue &optional weak-p)
  +  (type-from-number (ref-type-number gvalue)))
  +
  +(defun gvalue-get (gvalue)
     (funcall (reader-function (gvalue-type gvalue))
  -   gvalue +gvalue-value-offset+ weak-p))
  +   gvalue +gvalue-value-offset+))
  +
  +(defun gvalue-peek (gvalue)
  +  (funcall (reader-function (gvalue-type gvalue) :ref :peek)
  +   gvalue +gvalue-value-offset+))
  +
  +(defun gvalue-take (gvalue)
  +  (funcall (reader-function (gvalue-type gvalue) :ref :get)
  +   gvalue +gvalue-value-offset+))
   
   (defun gvalue-set (gvalue value)
     (funcall (writer-function (gvalue-type gvalue))
  
positive.code: (defclass param-unsigned-int (param)
    ((minimum
      :allocation :alien
      :reader param-unsigned-int-minimum
      :type unsigned-int)
     (maximum
      :allocation :alien
      :reader param-unsigned-int-maximum
      :type unsigned-int)
     (default-value
      :allocation :alien
      :reader param-unsigned-int-default-value
      :type unsigned-int))
    (:metaclass param-spec-class)
    (:gtype "GParamUInt"))
  
negative.code:   
  (defbinding %param-spec-unref () nil
    (location pointer))
  
  
  ;; TODO: rename to param-spec
  