anchor.diff:      (subtypep (class-name super) 'boxed)))
   
   
  -(defmethod shared-initialize ((class boxed-class) names &key name gtype)
  -  (declare (ignore names))
  -  (call-next-method)
  -  (let ((class-name (or name (class-name class))))
  -    (unless (find-type-number class-name)
  -      (register-type class-name 
  -       (or (first gtype) (default-type-init-name class-name))))))
  -
   (defbinding %boxed-copy () pointer
     (type-number type-number)
     (location pointer))
  
positive.code:   (type-number type-number)
    (location pointer))
  
  (defmethod reference-foreign ((class boxed-class) location)
    (%boxed-copy (find-type-number class) location))
  
  (defmethod unreference-foreign ((class boxed-class) location)
    (%boxed-free (find-type-number class) location))
  
  
  ;;;; 
  
  (defun expand-boxed-type (type-number forward-p slots)
    `(defclass ,(type-from-number type-number) (boxed)
  
negative.code: 
  (register-derivable-type 'boxed "GBoxed" 'expand-boxed-type)
  
  
  ;;;; NULL terminated vector of strings
  
  