anchor.diff:                              (car body)
                               nil))
            (body (if documentation (cdr body) body))
  -         (declarations (if (eql (caar body) 'declare)
  -                           (list (car body))
  -                           nil))
  +         (declarations (if (eql (caar body) 'declare) (car body) nil))
            (body (if declarations (cdr body) body))
  -         (method-list (cons
  -                       '(conn transmission-connection)
  -                       (if ignore-keys-p
  -
  -                           (loop :for item :in lambda-list
  -                                 :for key-seen = (eql item '&key)
  -                                   :then (or key-seen (eql item '&key))
  -                                 :when (eql item '&key)
  -                                   :append (list '&rest 'all-keys '&key) :into res
  -                                 :when (or (not key-seen)
  -                                           (listp item))
  -                                   :collect item :into res
  -                                 :finally (return
  -                                            (if key-seen
  -                                                (append res (list '&allow-other-keys))
  -                                                (append res (list '&rest 'all-keys)))))
  -                           lambda-list)))
  -         (tag-loop (gensym "LOOP"))
  +         (method-list (cons '(conn transmission-connection)
  +                            (if ignore-keys-p
  +                                (loop :for item :in lambda-list
  +                                      :for key-seen = (eql item '&key)
  +                                        :then (or key-seen (eql item '&key))
  +                                      :when (eql item '&key)
  +                                        :append (list '&rest 'all-keys '&key) :into res
  +                                      :when (or (not key-seen)
  +                                                (listp item))
  +                                        :collect item :into res
  +                                      :finally (return (append res
  +                                                               (if key-seen
  +                                                                   '(&allow-other-keys)
  +                                                                   '(&rest all-keys)))))
  +                                lambda-list)))
            (lambda-list (loop :for item :in lambda-list
                               :collect (if (listp item)
                                            (car item)
  
positive.code:     `(defgeneric-export ,name ,(cons 'connection lambda-list)
         (:documentation ,documentation)
         (:method ,method-list
           ,@declarations
           (block nil
             (tagbody
                ,tag-loop
                (let ((transmission-method-name ,method-string))
                  (return
                    (restart-case
                        (progn
                          ,@body)
                      (retry-request ()
                        :report "Retry the request with the same arguments."
                        (go ,tag-loop)))))))))))
  
  (defmacro def-torrent-action-request (action &optional docstring)
    (check-type docstring (or null string))
  
negative.code:     :type string
      :initform ""
      :documentation #d"The current \"X-Transmission-Session-Id\" used by the ~
  transmission server.")))
  
  (defmacro def-torrent-request (method lambda-list (&key ignore-keys-p) &body body)
    (let* ((name (intern (concatenate 'string "TRANSMISSION-" (symbol-name method))))
  