anchor.diff:        (ensure-vec-index array-of-textures id +null-texture+)
         (setf (aref array-of-textures id) texture))))
   
  -(defun2 register-fbo (cepl-context fbo)
  -  (declare (optimize (speed 3) (safety 1) (debug 1) (compilation-speed 0)))
  +(defn register-fbo ((cepl-context cepl-context) (fbo fbo)) fbo
  +  (declare (optimize (speed 3) (safety 1) (debug 1) (compilation-speed 0))
  +           (profile t))
     (%with-cepl-context (fbos) cepl-context
       (let ((id (%fbo-id fbo)))
         (ensure-vec-index fbos id +null-fbo+)
  
positive.code:         (when (and (>= id 0) (< (length array-of-gpu-buffers)))
            (aref array-of-gpu-buffers id))))))
  
  (defun2 (setf gpu-buffer-bound) (val ctx target)
    (declare (optimize (speed 3) (safety 1) (debug 1) (compilation-speed 0)))
    (let ((index (buffer-kind->cache-index target)))
      (set-gpu-buffer-bound-id ctx index (gpu-buffer-id val))))
  
  ;;----------------------------------------------------------------------
  ;; Uniform Buffer Objects
  
negative.code:       (ensure-vec-index array-of-gpu-buffers id +null-gpu-buffer+)
        (setf (aref array-of-gpu-buffers id) gpu-buffer))))
  
  (defn register-texture ((cepl-context cepl-context) (texture texture))
      texture
    (declare (optimize (speed 3) (safety 1) (debug 1) (compilation-speed 0))
             (profile t))
    (%with-cepl-context (array-of-textures)
        cepl-context
      (let ((id (texture-id texture)))
  