anchor.diff:  
   (defvar *registry* (make-hash-table))
   
  -(defvar *registry-lock* (make-lock "erlangen.registry"))
  +(defvar *registry*/lock (make-read-write-lock))
   
   (defun register (name &optional (agent (agent)))
     "*Arguments and Values:*
  
positive.code:    If the _name_ is not associated with an _agent_ an _error_ of _type_
     {simple-error} is signaled."
    (check-type name keyword)
    (with-lock-grabbed (*registry-lock*)
      (or (remhash name *registry*)
          (error "Not registered: ~a" name))))
  
  
negative.code:    {simple-error} is signaled."
    (check-type name keyword)
    (check-type agent agent)
    (with-write-lock (*registry*/lock)
      (if #1=(gethash name *registry*)
          (error "~a is already registered." name)
          (setf #1# agent))))
  