anchor.diff:  WITH-POINTER-TO-VECTOR-DATA."
     (make-array size :element-type '(unsigned-byte 8)))
   
  -(defun copy-to-foreign-vector (vector foreign-pointer)
  -  (loop for i below (length vector)
  -        do (%mem-set (aref vector i) foreign-pointer :char
  -                     i)))
  -
  -(defun copy-from-foreign-vector (vector foreign-pointer)
  -  (loop for i below (length vector)
  -        do (setf (aref vector i)
  -                 (%mem-ref foreign-pointer :char i))))
  +
  +(let ((method (jmethod "com.sun.jna.Pointer"
  +                       (jna-setter :char) "long" (jna-setter-arg-type :char))))
  +  (defun copy-to-foreign-vector (vector foreign-pointer)
  +    (loop for i below (length vector)
  +       do
  +         (jcall-raw method
  +                    foreign-pointer i
  +                    (aref vector i)))))
  +
  +;; hand-roll the jna-getter method instead of calling %mem-ref every time through
  +(let ((method (jmethod "com.sun.jna.Pointer" (jna-getter :char) "long")))
  +  (defun copy-from-foreign-vector (vector foreign-pointer)
  +    (loop for i below (length vector)
  +       do (setf (aref vector i)
  +                (lispify-value (jcall-raw method foreign-pointer i)
  +                               :char)))))
   
   (defmacro with-pointer-to-vector-data ((ptr-var vector) &body body)
     "Bind PTR-VAR to a foreign pointer to the data in VECTOR."
  
positive.code: 
  ;;;
  
  (defun private-jfield (class-name field-name instance)
    (let ((field (find field-name
                       (jcall (jmethod "java.lang.Class" "getDeclaredFields")
                              (jclass class-name))
  
negative.code:   value)
  
  ;;;# Foreign Globals
  (let ((get-symbol-address-jmethod (private-jmethod "com.sun.jna.NativeLibrary" "getSymbolAddress")))
    (defun %foreign-symbol-pointer (name library)
      "Returns a pointer to a foreign symbol NAME."
      (flet ((find-it (library)
               (ignore-errors
                 (make-pointer
                  (jcall-raw get-symbol-address-jmethod library name)))))
        (if (eq library :default)
            (or (find-it
                 (jstatic "getProcess" "com.sun.jna.NativeLibrary"))
                ;; The above should find it, but I'm not exactly sure, so
                ;; let's still do it manually just in case.
                (loop for lib being the hash-values of *loaded-libraries*
                   thereis (find-it lib)))
            (find-it library)))))
  
  ;;;# Calling Foreign Functions
  
  