anchor.diff:  (defstruct client name socket)
   
   
  -(defun socket-id (socket)
  +(defun socket-peer-address (socket)
     (format nil "~{~a~^.~}\:~a"
             (map 'list #'identity (get-peer-address socket))
             (get-peer-port socket)))
   
  -(defun client-id (client)
  -  (socket-id (client-socket client)))
  +(defun client-address (client)
  +  (socket-peer-address (client-socket client)))
   
   (defun client-stream (c)
     (socket-stream (client-socket c)))
  
positive.code: (defun client-delete (client)
    (sb-thread:with-mutex (*client-mutex*)
      (setf *clients* (remove-if (lambda (c)
                                   (equal (client-id c)
                                          (client-id client)))
                                 *clients*)))
    (push-message "@server" (format nil "The user ~s exited from the party :("
                                    (client-name client)))
    (debug-format t "Deleted user ~a@~a~%"
                  (client-name client)
                  (client-id client))
    (socket-close (client-socket client)))
  
  (defun send-message (client message)
  
negative.code:       (sb-thread:with-mutex (*client-mutex*)
          (debug-format t "Added new user ~a@~a ~%"
                        (client-name client)
                        (client-address client))
          (push client *clients*))
        (push-message "@server" (format nil "The user ~s joined to the party!" (client-name client)))
        (sb-thread:make-thread #'client-reader
  