anchor.diff:          (unless (> x 5)
             (setf result-2 x)
             (push x unless-nums)))
  -      (assert-equal result-1 ___)
  -      (assert-equal result-2 ___)
  -      (assert-equal when-nums ___)
  -      (assert-equal unless-nums ___)))
  +      (assert-equal result-1 10)
  +      (assert-equal result-2 5)
  +      (assert-equal when-nums '(10 9 8 7 6))
  +      (assert-equal unless-nums '(5 4 3 2 1))))
   
   
   (define-test test-and-short-circuits
       "and only evaluates forms until one evaluates to nil"
     (assert-equal
  -   ____
  +   2
      (let ((x 0))
        (and
         (setf x (+ 1 x))
  
positive.code:       (if t
            (setf result "true value")
            (setf result "false value"))
        (assert-equal result ____)
        (if nil
            (setf result "true value")
            (setf result "false value"))
        (assert-equal result ____)))
  
  
  (define-test test-when-and-unless
  
negative.code: (define-test test-or-also-short-circuits
      "or only evaluates until one argument evaluates to non-nil"
    (assert-equal
     1
     (let ((x 0))
       (or
        (setf x (+ 1 x))
        (setf x (+ 1 x))
        nil
        (setf x (+ 1 x)))
       x)))
  