anchor.diff:    (setf a 100)
     (setf b 23)
     (setf c 456)
  -  (let ((a 0)
  -        (b __)
  -        (c __))
  +  (let ((a 100)
  +        (b 200)
  +        (c "Jellyfish"))
       (assert-equal a 100)
       (assert-equal b 200)
       (assert-equal c "Jellyfish"))
  -  (let* ((a 0))
  +  (let* ((a 121)
  +         (b 200)
  +         (c (+ a (/ b a))))
       (assert-equal a 121)
       (assert-equal b 200)
       (assert-equal c (+ a (/ b a)))))
  
positive.code:      lexical form.  After which, the previous value, if it exists, is visible again."
    (setf a 10)
    (setf b 20)
    (assert-equal a ___)
    (assert-equal b ___)
    (let ((a 1111)
          (b 2222))
      (assert-equal a ___)
      (assert-equal b ___))
    (assert-equal a ___)
    (assert-equal b ___))
  
  
  (define-test test-let-default-value
      "let vars have a default value"
      (let ((x))
        (assert-equal ___ x)))
  
  (define-test test-let-bindings-are-parallel
      "When defining the bindings in the let form, later bindings may not depend
  
negative.code:     "setf is used to assign values to symbols.  These symbols may refer to
       variables with lexical or dynamic scope."
    (setf my-name "David")
    (assert-equal my-name "David")
    " In SBCL, if the symbol isn't defined as a variable, via a top-level defvar
    or let statement, the setf call may result in a warning."
    (setf my-clones-name my-name)
    (assert-equal "David" my-clones-name)
    (setf a 5)
    (setf b 10)
    (setf c (* a b))
    (assert-equal 50 c))
  
  
  