anchor.diff:  (defmacro with-kernel-arguments (args &body body)
     (let ((var (car args))
           (ptrs (cdr args)))
  -    `(with-foreign-object (,var :pointer 4)
  +    `(with-foreign-object (,var :pointer ,(length ptrs))
          ,@(loop for ptr in ptrs
               for i from 0
               collect `(setf (mem-aref ,var :pointer ,i) ,ptr))
  
positive.code: ;; cuCtxDestroy
  (defcufun (cu-ctx-destroy "cuCtxDestroy") cu-result
    (pctx cu-context))
  
  ;; cuMemAlloc
  (defcufun (cu-mem-alloc "cuMemAlloc") cu-result
  
negative.code:           ((float float) float "*")))
      / (t (((int int) int "/")
            ((float float) float "/")))
      = (t (((int int) bool "==")
            ((float float) bool "==")))
      < (t (((int int) bool "<")
            ((float float) bool "<")))
      <= (t (((int int) bool "<=")
  