anchor.diff:                    `(foreign-symbol-pointer ,function))
                ,(if (eql return-type :void) '(null-pointer) 'result)
                argvalues)
  -            ,(if (eql return-type :void)
  -                 '(values)
  -                 (if (typep (parse-type return-type) 'translatable-foreign-type)
  -                     ;; just return the pointer so that expand-from-foreign
  -                     ;; can apply translate-from-foreign
  -                     'result
  -                     ;; built-in types won't be translated by
  -                     ;; expand-from-foreign, we have to do it here
  -                     `(mem-aref result ',return-type))))
  -         t))))
  +            result)))))
   
   (setf *foreign-structures-by-value* 'ffcall-body-libffi)
   
  
positive.code:       (remhash foreign-function-name *cif-table*)
        foreign-function-name)))
  
  (defun ffcall-body-libffi
      (function function-arguments symbols types return-type argument-types &optional pointerp (abi :default-abi))
    "A body of foreign-funcall calling the libffi function #'call (ffi_call)."
  
negative.code:          ((argvalues :pointer ,number-of-arguments)
            ,@(unless (eql return-type :void)
                `((result ',return-type))))
         ,(translate-objects-ret
           symbols function-arguments types return-type
           `(progn
              (loop :for arg :in (list ,@symbols)
  