anchor.diff:  ;;; conditions
   
   (define-condition connection-closed ()
  -  ((client :initarg :client))
  +  ((client :initarg :client :documentation "Client whose connection was closed"))
     (:report (lambda (condition stream)
   	     (with-slots (client) condition
   	       (format stream "Connection closed for ~a" client))))
  -  (:documentation "Signalled by `disconnect'.
  +  (:documentation "Signalled by the @c(disconnect) function.
   
   Disconnecting is the default action whenever an error occurs, so this
   signal can for example be handled to reconnect."))
   
   (define-condition connection-lost (error)
  -  ((client :initarg :client))
  +  ((client :initarg :client :documentation "Client whose connection was lost"))
     (:report (lambda (condition stream)
   	     (with-slots (client) condition
   	       (format stream "Connection lost for ~a" client))))
  
positive.code:     (error () (error 'connection-lost :client client))))
  
  (defun send-raw-message (client raw-message)
    "Send /raw-message/ and CRLF to the socket associated with /client/.
  
  Outside of the few send-* functions, this is what you have to use to
  send messages to the server."
  
negative.code: ;;; raw-message
  
  (defun receive-raw-message (client)
    "Receive and return a single, raw message from @cl:param(client).
  
  If any errors occur during the reading, the connection is silently
  shut down."
  