anchor.diff:     #:%mem-set
      #:%foreign-funcall
      #:%foreign-funcall-pointer
  +   #:%foreign-funcall-varargs
  +   #:%foreign-funcall-pointer-varargs
      #:%foreign-type-alignment
      #:%foreign-type-size
      #:%load-foreign-library
  
positive.code:   (declare (ignore library convention))
    (multiple-value-bind (types values return-type)
        (foreign-funcall-parse-args args)
      (produce-function-pointer-call name types values return-type)))
  
  (defmacro %foreign-funcall-pointer (ptr args &key convention)
    "Funcall a pointer to a foreign function."
    (declare (ignore convention))
    (multiple-value-bind (types values return-type)
        (foreign-funcall-parse-args args)
      (produce-function-pointer-call ptr types values return-type)))
  
  ;;;# Foreign Libraries
  
  
negative.code: 
  (defconstant +ecl-inline-codes+ "#0,#1,#2,#3,#4,#5,#6,#7,#8,#9,#a,#b,#c,#d,#e,#f,#g,#h,#i,#j,#k,#l,#m,#n,#o,#p,#q,#r,#s,#t,#u,#v,#w,#x,#y,#z")
  
  (defun c-inline-function-call (thing fixed-types types values return-type dynamic-call variadic)
    (when dynamic-call
      (when (stringp thing)
        (setf thing `(%foreign-symbol-pointer ,thing nil)))
      (push thing values)
      (push :pointer-void types))
    (let* ((decl-args
            (format nil "~{~A~^, ~}~A"
                    (mapcar #'ecl-type->c-type fixed-types) (if (null variadic) "" ", ...")))
           (call-args
            (if dynamic-call
                ;; #0 is already used in a cast (it is a function pointer)
                (subseq +ecl-inline-codes+ 3 (max 3 (1- (* (length values) 3))))
                ;; #0 is not used, so we start from the beginning
                (subseq +ecl-inline-codes+ 0 (max 0 (1- (* (length values) 3))))))
           (clines
            (if dynamic-call
                nil
                (format nil "extern ~A ~A(~A);"
                        (ecl-type->c-type return-type) thing decl-args)))
           (call-code
            (if dynamic-call
                (format nil "((~A (*)(~A))(#0))(~A)"
                        (ecl-type->c-type return-type) decl-args call-args)
                (format nil "~A(~A)" thing call-args))))
      `(progn
         (ffi:clines ,@(ensure-list clines))
         (ffi:c-inline ,values ,types ,return-type ,call-code :one-liner t :side-effects t))))
  
  (defun dffi-function-pointer-call (pointer types values return-type)
    (when (stringp pointer)
  