anchor.diff:         (is (= a 47))))))
   
   (test cps-apply
  -  (is (= 0 (with-call/cc () (+))))
  -  (is (= 1 (with-call/cc () (+ 1))))
  -  (is (= 2 (with-call/cc () (+ 1 1))))
  -  (is (= 3 (with-call/cc () (+ 1 (+ 1 (+ 1 (+))))))))
  +  (is (= 0 (with-call/cc (+))))
  +  (is (= 1 (with-call/cc (+ 1))))
  +  (is (= 2 (with-call/cc (+ 1 1))))
  +  (is (= 3 (with-call/cc (+ 1 (+ 1 (+ 1 (+))))))))
   
   (test cps-if
  -  (is (= 1 (with-call/cc () (if t 1))))
  -  (is (= 1 (with-call/cc () (if nil 0 1))))
  -  (is (null (with-call/cc () (if nil 1)))))
  +  (is (= 1 (with-call/cc (if t 1))))
  +  (is (= 1 (with-call/cc (if nil 0 1))))
  +  (is (null (with-call/cc (if nil 1)))))
   
   (test cps-block/return-from
     (is (= 1
  -         (with-call/cc ()
  +         (with-call/cc
              (block foo
                  nil
                  (return-from foo 1)
                  nil))))
     (is (eql t 
  -           (with-call/cc ()
  +           (with-call/cc
                  (block foo
                    (return-from foo t)
                    nil)))))
  
positive.code:        c (is (= 2 i))))))
  
  (test cps-flet
    (with-call/cc ()
      (flet ((foo () 'x))
        (is (eql 'x (foo))))
      (is (= 4 (funcall (let ((a 4))
  
negative.code:         (is (eql 'outer-foo (bar)))))))
  
  (test cps-labels
    (with-call/cc
      (labels ((foo () 'x))
        (is (eql 'x (foo))))
      (labels ((foo () 'outer-foo))
        (labels ((bar () (foo))
                 (foo () 'inner-foo))
          (is (eql 'inner-foo (bar)))))))
  
  (defun/cc test-defun/cc1 ()
    (let/cc k k))
  
  (defun/cc test-defun/cc2 (arg1)
    (let/cc k k)
    arg1)
  
  (test cps-defun/cc
    (let ((cont nil))
      (setf cont (with-call/cc (test-defun/cc1)))
      (is (eql nil (kall cont nil)))
  
      (setf cont (with-call/cc (test-defun/cc2 'foo)))
      (is (eql 'foo (kall cont)))
      (is (eql 'foo (kall cont nil)))))
  