anchor.diff:  
   (defmacro foreign-var-ptr (name)
     "Return a pointer pointing to the foreign variable NAME."
  -  (let ((fv-name (intern name '#:cffi-sys-fv)))
  -    `(progn
  -       (fli:define-foreign-variable (,fv-name ,name)
  -           :accessor :address-of)
  -       (,fv-name))))+  `(load-time-value (fli:make-pointer :symbol-name ,name :type :void)))
  
positive.code:      `(fli:define-foreign-function (,ff-name ,name :source)
            ,(mapcar (lambda (ty) (list (gensym) (convert-foreign-type ty)))
                     types)
          :result-type ,rettype
          :language :ansi-c
          :calling-convention :cdecl)
       `(,ff-name ,@args))))
  
  ;;;# Callbacks
  
negative.code:     (setf ptr (inc-ptr ptr offset)))
    (setf (fli:dereference ptr :type (convert-foreign-type type)) value))
  
  ;(defun test-foreign-aref ()
  ;  (with-foreign-ptr (p 100)
  ;    (setf (%mem-ref p :double) pi)
  ;    (%mem-ref p :double)))
  
  ;;;# Foreign Type Operations
  
  