anchor.diff:  
   (defmethod foreign-to-ffi (type names params fields body)
     `(let ((,(car names) ,(car params)))
  +     (declare (ignorable ,(car names)))
        ,(next-ffi)))
   
   ;;; Record by value.. just pass through the pointer
   (defmethod foreign-to-ffi ((type foreign-record) names params fields body)
     `(let ((,(car names) ,(car params)))
  +     (declare (ignorable ,(car names)))
        ,(next-ffi)))
   
   (defmethod foreign-to-ffi ((type foreign-enum) names params fields body)
  
positive.code:                     (if make-function-p
                          `(defun ,fun-name (,@maybe-cbv-return
                                             ,@param-names ,@(when (foreign-function-variadic-p fun) `(&rest ,rest)))
                             ,(let ((!fun (find-function name-or-function)))
                                (with-slots ((!fields fields)) !fun
                                  (foreign-to-ffi
  
negative.code:                                                        param-syms (when (foreign-function-variadic-p fun) rest))))))
                          `(defmacro ,fun-name (,@maybe-cbv-return
                                                ,@param-names ,@(when (foreign-function-variadic-p fun) `(&rest ,rest)))
                             ,@(when maybe-cbv-return `((declare (ignorable ,@maybe-cbv-return))))
                             (let ((,!fun (find-function ',name-or-function)))
                               (with-slots ((,!fields fields)) ,!fun
                                 (foreign-to-ffi
  