anchor.diff:        (setf (depth-clamp context) (depth-clamp context)))
   
       ;; cull-face
  -    (setf (cull-face context) (cull-face context))
  +    (when cull-face
  +      (setf (cull-face context) (cull-face context)))
   
       ;; front-face
  -    (setf (front-face context) (front-face context))
  +    (when front-face
  +      (setf (front-face context) (front-face context)))
   
       ;; clear-color
  -    (setf (clear-color context) (clear-color context))
  +    (when clear-color
  +      (setf (clear-color context) (clear-color context)))
   
       ;; viewport
  -    (cepl.viewports::%set-current-viewport context current-viewport)
  +    (when viewport
  +      (cepl.viewports::%set-current-viewport context current-viewport))
   
       ;; color-masks
       (loop :for index :in color-mask-indices
  
positive.code:   (assert (member depth-mask '(t nil)))
    (assert (member depth-range '(t nil)))
    (assert (member depth-clamp '(t nil)))
    (let ((ctx (gensym "ctx")))
      `(with-cepl-context (,ctx)
         (unwind-protect (progn ,@body)
  
negative.code:                      (depth-mask boolean)
                       (depth-range boolean)
                       (depth-clamp boolean)
                       (clear-color boolean)
                       (cull-face boolean)
                       (front-face boolean)
                       (viewport boolean)
                       (color-mask-indices list)
                       (tex-unit-ids list)
                       (buffer-targets list)
  