anchor.diff:  ;;; FOREIGN-ALLOC and FOREIGN-FREE in UNWIND-PROTECT for the common usage
   ;;; when the memory has dynamic extent.
   
  +(declaim (inline %foreign-alloc))
   (defun %foreign-alloc (size)
     "Allocate SIZE bytes on the heap and return a pointer."
  +  (declare (type (unsigned-byte 32) size))
     (alien-sap (make-alien (unsigned 8) size)))
   
  +(declaim (inline foreign-free))
   (defun foreign-free (ptr)
     "Free a PTR allocated by FOREIGN-ALLOC."
  +  (declare (type system-area-pointer ptr))
     (free-alien (sap-alien ptr (* (unsigned 8)))))
   
   (defmacro with-foreign-pointer ((var size &optional size-var) &body body)
  
positive.code: 
  ;;;# Loading and Closing Foreign Libraries
  
  (defun %load-foreign-library (name)
    "Load the foreign library NAME."
    (load-shared-object name))
  
negative.code: accessible when FUNCTION is invoked."
    (sb-ext:finalize object function))
  
  (declaim (inline cancel-finalization))
  (defun cancel-finalization (object)
    "Cancels all of OBJECT's finalizers, if any."
    (sb-ext:cancel-finalization object))
  