anchor.diff:    (check-type id fixnum)
     (multiple-value-bind (user-data p) (gethash id *user-data*)
       (values (car user-data) p)))
  +
  +(defun user-data-exists-p (id)
  +  (nth-value 1 (find-user-data id)))
   
   (defun update-user-data (id object)
     (check-type id fixnum)
  
positive.code: ;;;; User data mechanism
  
  (internal *user-data* *user-data-count*)
  
  (declaim (fixnum *user-data-count*))
  
  (defvar *user-data* (make-hash-table))
  (defvar *user-data-count* 0)
  
negative.code: 
  ;;;; Quarks
  
  (deftype quark () 'unsigned)
  
  (defbinding %quark-from-string () quark
    (string string))
  
  (defun quark-intern (object)
    (etypecase object
      (quark object)
      (string (%quark-from-string object))
      (symbol (%quark-from-string (format nil "clg-~A:~A" 
  				 (package-name (symbol-package object)) 
  				 object)))))
  
  (defbinding quark-to-string () (copy-of string)
    (quark quark))
  
  
  ;;;; Linked list (GList)
  