anchor.diff:                         (or channel key)
                          (if (subscription-want-octets subscription)
                              payload
  -                           (babel:octets-to-string payload))))
  +                           (octets-to-string payload))))
               t)))))
   
   ;; Persistence control commands
  
positive.code:   (when (null host) (setf host *host*))
    (when (null port) (setf port *port*))
    (make-instance 'connection
                   :socket (usocket:socket-connect host port :element-type '(unsigned-byte 8))))
  
  (defun close-connection (connection)
    (when (connection-socket connection)
      (usocket:socket-close (connection-socket connection))
      (setf (connection-socket connection) nil)
      (clrhash (connection-channel-subscriptions connection))
      (clrhash (connection-pattern-subscriptions connection))))
  
  (defun connection-stream (connection)
    (usocket:socket-stream (connection-socket connection)))
  
  (defmacro with-connection ((&key connection host port) &body forms)
    (when (null connection) (setf connection '*connection*))
  
negative.code:   (multiple-value-bind (magic line)
        (read-delimited-bytes (connection-stream connection))
      (ecase magic
        (43 (octets-to-string line))
        (36 (let ((n (parse-integer (octets-to-string line))))
              (cond ((= n -1) nil)
                    (t (let ((data (make-array n :element-type '(unsigned-byte 8))))
                         (read-sequence data (connection-stream connection))
                         (read-byte (connection-stream connection)) ; CR
                         (read-byte (connection-stream connection)) ; LF
                         data)))))
        (42 (let ((n (parse-integer (octets-to-string line))))
              (cond ((= n -1) (values nil nil))
                    (t (values (loop repeat n collecting (read-reply connection)) t)))))
        (58 (values (parse-integer (octets-to-string line))))
        (45 (error 'redis-error :text (octets-to-string line))))))
  
  (defun write-multi-bulk (sequences n out)
    (write-byte 42 out)
  