anchor.diff:    "*Description*:
   
      {registered} returns a _list_ of names associated with _agents_."
  -  (with-lock-grabbed (*registry-lock*)
  +  (with-read-lock (*registry*/lock)
       (loop for name being the hash-keys of *registry* collect name)))
   
   (defun agent-by-name (name)
     "Return agent by NAME if registered, signal error otherwise."
  -  (with-lock-grabbed (*registry-lock*)
  +  (with-read-lock (*registry*/lock)
       (or (gethash name *registry*)
           (error "No such agent: ~a" name))))
  
positive.code: 
  (defvar *registry* (make-hash-table))
  
  (defvar *registry-lock* (make-lock "erlangen.registry"))
  
  (defun register (name &optional (agent (agent)))
    "*Arguments and Values:*
  
negative.code:    If the _name_ is not associated with an _agent_ an _error_ of _type_
     {simple-error} is signaled."
    (check-type name keyword)
    (with-write-lock (*registry*/lock)
      (or (remhash name *registry*)
          (error "Not registered: ~a" name))))
  
  