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:                          (:min "MIN")
                           (:max "MAX")))))
                    (write-sequence
                     (with-output-to-sequence (out)
                       (write-multi-bulk (nreverse sequences) nsequences out))
                     (connection-stream connection))
                    (force-output (connection-stream connection))
  