anchor.diff:        (getf +cffi-type-table+ type)))
   
   (defun kernel-arg-names (arg-bindings)
  -  ;; ((a float*) (b float*) (c float*) (n int)) → (a b c n)
  +  ;; ((a float*) (b float*) (c float*) (n int)) -> (a b c n)
     (mapcar #'car arg-bindings))
   
   (defun kernel-arg-names-as-pointer (arg-bindings)
  -  ;; ((a float*) (b float*) (c float*) (n int)) → (a b c n-ptr)
  +  ;; ((a float*) (b float*) (c float*) (n int)) -> (a b c n-ptr)
     (mapcar #'arg-name-as-pointer arg-bindings))
   
   (defun arg-name-as-pointer (arg-binding)
  
positive.code:         var)))
  
  (defun kernel-arg-foreign-pointer-bindings (arg-bindings)
    ; ((a float*) (b float*) (c float*) (n int)) → ((n n-ptr :int))
    (mapcar #'foreign-pointer-binding
      (remove-if-not #'arg-binding-with-non-pointer-type-p arg-bindings)))
  
  
negative.code:     - (t (((int int) int "-")
            ((float float) float "-")))
      * (t (((int int) int "*")
            ((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 "<=")
             ((float float) bool "<=")))
      ))
  
  (defun built-in-function-infix-p (op)
    (or (car (getf +built-in-functions+ op))
  