anchor.diff:                    (setf (cepl.context::%cepl-context-current-draw-buffers-len ,ctx)
                           ,len)
                     (values))))
  -           (gen-draw-buffer-call-from-array-form (ctx form)
  +           (gen-draw-buffer-call-from-array-form (ctx form body)
                (alexandria:with-gensyms (l-arr l-arr-len ptr)
                  `(let* ((,l-arr ,form)
                          (,l-arr-len (array-total-size ,l-arr)))
  
positive.code:                           ,ptr)
                      (setf (cepl.context::%cepl-context-current-draw-buffers-len ,ctx)
                            ,l-arr-len)
                      (%gl:draw-buffers ,l-arr-len ,ptr)))))
             (%write-draw-buffer-pattern-call (ctx fbo body)
               "This plays with the dispatch call from compose-pipelines
                The idea is that the dispatch func can preallocate one array
  
negative.code:                        ,(if with-blending
                               `(cepl.blending::%with-blending ,fbo t nil ,@body)
                               `(progn ,@body))))
                     (t (gen-draw-buffer-call-from-array-form ctx draw-buffers body))))
             (%write-restore-draw-buffers (ctx old-ptr old-len)
               (unless (null draw-buffers)
                 `((%gl:draw-buffers ,old-len ,old-ptr)
  