anchor.diff:  (define-command smove :boolean (srckey :key) (dstkey :key) "Move the specified member from one set to another atomically.")
   (define-command scard (key :key) "Return the number of elements (the cardinality) of the set at key.")
   (define-command sismember :boolean (key :key) (member :key) "Test if the specified value is a member of the set at key.")
  -(define-command sinter (keys :keys) "Return the intersection of the sets stored at keys.")
  -(define-command sinterstore (dstkey :key) (keys :keys) "Compute the intersection of the sets stored at keys and store the resulting set at dstkey.")
  -(define-command sunion (keys :keys) "Return the union of the sets stored at keys.")
  -(define-command sunionstore (dstkey :key) (keys :keys) "Compute the union of the sets stored at keys and store the resulting set at dstkey.")
  -(define-command sdiff (keys :keys) "Return the difference between the set stored at the first key and the sets stored at the rest of the keys.")
  -(define-command sdiffstore (dstkey :key) (keys :keys)
  +(define-command sinter (list keys :key) "Return the intersection of the sets stored at keys.")
  +(define-command sinterstore (dstkey :key) (list keys :key) "Compute the intersection of the sets stored at keys and store the resulting set at dstkey.")
  +(define-command sunion (list keys :key) "Return the union of the sets stored at keys.")
  +(define-command sunionstore (dstkey :key) (list keys :key) "Compute the union of the sets stored at keys and store the resulting set at dstkey.")
  +(define-command sdiff (list keys :key) "Return the difference between the set stored at the first key and the sets stored at the rest of the keys.")
  +(define-command sdiffstore (dstkey :key) (list keys :key)
     "Compute the difference between the set stored at the first key and
   the sets stored at the rest of the keys, and store it at dstkey.")
   (define-command smembers (key :key) "Return all the members of the set value at key.")
  
positive.code:       (vector (if want-octets result (str (babel:octets-to-string result))))
        (cons (map-into result (lambda (x) (translate-result x want-octets booleanize split)) result)))))
  
  (defun write-key (key stream)
    (etypecase key
      ((or string symbol) (princ key stream))
      (cons (format stream "~{~A~^:~}" key))))
  
  (defun read-delimited-bytes (stream)
    (let ((magic (read-byte stream)))
  
negative.code: (define-command set (key :key) (value :bulk) "Set a key to a string value.")
  (define-command get (key :key) "Return the string value of the key.")
  (define-command getset (key :key) (value :bulk) "Set a key to a string returning the old value of the key.")
  (define-command mget (list keys :key) "Multi-get, return the string values of the keys.")
  (define-command setnx :boolean (key :key) (value :bulk) "Set a key to a string value if the key does not exist.")
  (define-command setex (key :key) (time :integer) (value :bulk) "Set+Expire combo command")
  (define-command mset (list keys/vals :key :bulk) "Set multiple keys to multiple values in a single atomic operation.")
  (define-command msetnx (list keys/vals :key :bulk) "Set multiple keys to multiple values in a single atomic operation if none of the keys already exist.")
  (define-command incr (key :key) "Increment the integer value of key.")
  (define-command incrby (key :key) (integer :integer) "Increment the integer value of key by integer.")
  (define-command decr (key :key) "Decrement the integer value of key.")
  