anchor.diff:    (setf a 100)
     (setf b 23)
     (setf c 456)
  -  (let ((a 0)
  -        (b __)
  -        (c __))
  +  (let ((a a)
  +        (b (* a 2))
  +        (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:   (setf a 100)
    (let ((a 5)
          (b (* 10 a)))
      (assert-equal b ___)))
  
  (define-test test-let*-bindings-are-series
      "let* is like let, but successive bindings may use values of previous ones"
    (setf a 100)
    (let* ((a 5)
           (b (* 10 a)))
      (assert-equal b ___))
    (assert-equal a ___))
  
  
  (define-test write-your-own-let-statement
  
negative.code:      lexical form.  After which, the previous value, if it exists, is visible again."
    (setf a 10)
    (setf b 20)
    (assert-equal a 10)
    (assert-equal b 20)
    (let ((a 1111)
          (b 2222))
      (assert-equal a 1111)
      (assert-equal b 2222))
    (assert-equal a 10)
    (assert-equal b 20))
  
  
  (define-test test-let-default-value
      "let vars have a default value"
      (let ((x))
        (assert-equal nil x)))
  
  (define-test test-let-bindings-are-parallel
      "When defining the bindings in the let form, later bindings may not depend
  