anchor.diff:  (defvar *connection*)
   
   (defclass connection ()
  -  ((socket :initarg :socket :accessor connection-socket)))
  +  ((socket :initarg :socket :accessor connection-socket)
  +   (channel-subscriptions :initform (make-hash-table :test 'equal)
  +                          :accessor connection-channel-subscriptions)
  +   (pattern-subscriptions :initform (make-hash-table :test 'equal)
  +                          :accessor connection-pattern-subscriptions)))
   
   (defun open-connection (&optional host port)
     (when (null host) (setf host *host*))
  
positive.code:    #:multi
     #:exec
     #:discard
     ;; TODO: Publish/Subscribe
     ;; Persistence control commands
     #:save
     #:bgsave
  
negative.code:         (no-read (when (eq (car spec) :no-read) (pop spec)))
          (docstring (car (last spec)))
          (spec (butlast spec)))
      (unless (stringp (car spec))
        (push (symbol-name name) spec))
      (let ((inputs (cl:append (mapcan (lambda (x)
                                         (when (consp x)
                                           (list (if (eq (car x) 'list)
  