anchor.diff:  
   ;;;# Dereferencing
   
  -;; Looking at UFFI, I see that this will probably
  -;; depend on the context --luis
  -(defun convert-foreign-type (type-keyword)
  +(defun convert-foreign-type (type-keyword &optional (context :normal))
     "Convert a CFFI type keyword to an Allegro type."
     (ecase type-keyword
       (:char             :char)
  
positive.code:     (:unsigned-long    :unsigned-long)
      (:float            :float)
      (:double           :double)
      (:pointer          :foreign-address)
      (:void             :void)))
  
  (defun %mem-ref (ptr type &optional (offset 0))
  
negative.code:    #:%mem-ref
     ;#:make-shareable-byte-vector
     ;#:with-pointer-to-vector-data
     #:foreign-var-ptr
     #:defcfun-helper))
  
  (in-package #:cffi-sys)
  
  ;; Helper package where some foreign functions are kept.
  (defpackage #:cffi-sys-ff)
  
  ;;;# Basic Pointer Operations
  
  (defun pointerp (ptr)
    "Return true if PTR is a foreign pointer."
    (integerp ptr))
  
  (defun null-ptr ()
    "Return a null pointer."
    0)
  
  (defun null-ptr-p (ptr)
    "Return true if PTR is a null pointer."
    (zerop ptr))
  
  (defun inc-ptr (ptr offset)
    "Return a pointer pointing OFFSET bytes past PTR."
    (+ ptr offset))
  
  ;;;# Allocation
  