anchor.diff:  (defclass param-double-float (param)
     ((minimum
       :allocation :alien
  -    :reader param-double-float-minimum
  +    :reader param-minimum
       :type double-float)
      (maximum
       :allocation :alien
  -    :reader param-double-float-maximum
  +    :reader param-maximum
       :type double-float)
      (default-value
       :allocation :alien
  -    :reader param-double-float-default-value
  +    :reader param-default-value
       :type double-float)
      (epsilon
       :allocation :alien
  -    :reader param-double-float-epsilon
  +    :reader param-float-epsilon
       :type double-float))
     (:metaclass param-spec-class)
     (:gtype "GParamDouble"))
  
positive.code:   (location pointer))
  
  (defmacro with-gvalue ((gvalue &optional type (value nil value-p)) &body body)
    `(with-allocated-memory (,gvalue +gvalue-size+)
       ,(cond
         ((and type value-p) `(gvalue-init ,gvalue ,type ,value))
         (type `(gvalue-init ,gvalue ,type)))
       ,@body
       ,(unless value-p `(gvalue-get ,gvalue))))
  
  
  (deftype param-flag-type ()
  
negative.code:     :type pointer)
     (default-value
      :allocation :alien
      :reader param-default-value
      :type long))
    (:metaclass param-spec-class)
    (:gtype "GParamEnum"))
  