anchor.diff:              (when (member '("Connection" . "keep-alive") (request-headers *request*)
                             :test #'equalp)
                 (setf (reply-keep-alive-p *reply*) t))
  +            (when (member '("Connection" . "close") (request-headers *request*)
  +                          :test #'equalp)
  +              (setf (reply-keep-alive-p *reply*) nil))
               (when (member "Upgrade" (request-headers *request*)
                             :test #'string-equal
                             :key #'car)
  
positive.code:    (socket :reader reply-socket :initarg :socket)
     (headers-written-p :accessor reply-headers-written-p :initform nil)
     (http-server :reader reply-http-server :initarg :http-server)
     (keep-alive-p :accessor reply-keep-alive-p :initform nil)))
  
  (defmethod close ((reply reply) &key abort)
    (unless (or (reply-headers-written-p reply) abort)
  
negative.code:   (if (reply-keep-alive-p reply)
        ;; TODO - reuse request/reply objects by reinitializing?
        ;;        (use shared-initialize with t for slots)
        (new-request (reply-http-server reply)
                     (reply-socket reply))
        (close (reply-socket reply) :abort abort)))
  
  (defun reply-headers* ()
  