anchor.diff:         (funcall (mkbinding fname 'type-number)))
      (mklist init)))
   
  -(defun %init-types-in-library (pathname ignore)
  +(defun %init-types-in-library (pathname prefix ignore)
     (let ((process (ext:run-program
   		  "nm" (list "-D" (namestring (truename pathname)))
   		  :output :stream :wait nil))
  
positive.code:     (if (getf initargs :size)
  	(call-next-method)
        (let ((size (type-instance-size type-number)))
  	(apply #'call-next-method class names :size (list size) initargs))))
  
    (when ref
      (let ((ref (mkbinding (first ref) 'pointer 'pointer)))
        (setf
         (slot-value class 'copy)
         #'(lambda (type location)
  	   (declare (ignore type))
  	   (funcall ref location)))))
    (when unref
      (let ((unref (mkbinding (first unref) 'nil 'pointer)))
        (setf
         (slot-value class 'free)
         #'(lambda (type location)
  	   (declare (ignore type))
  	   (funcall unref location))))))
  
  
  (defmethod validate-superclass
      ((class ginstance-class) (super pcl::standard-class))
    (subtypep (class-name super) 'ginstance))
  
  
  
negative.code:      (let ((type-number (%type-from-name type)))
         (cond
  	((and (zerop type-number) error)
  	 (error "Invalid gtype name: ~A" type))
  	((zerop type-number) nil)
  	(t type-number))))
      (symbol
  