anchor.diff:    (let ((add-100 (adder 100))
           (add-500 (adder 500)))
     "add-100 and add-500 now refer to different bindings to x"
  -   (assert-equal ___ (funcall add-100 3))
  -   (assert-equal ___ (funcall add-500 3))))
  +   (assert-equal 103 (funcall add-100 3))
  +   (assert-equal 503 (funcall add-500 3))))
   
   
   ;; ----
  
positive.code: 
  (define-test test-many-kinds-params
      "CL provides the programmer with more than enough rope to hang himself."
     (assert-equal (func-with-funky-parameters 1) ___)
     (assert-equal (func-with-funky-parameters 1 :b 2) ___)
     (assert-equal (func-with-funky-parameters 1 :b 2 :c 3) ___)
     (assert-equal (func-with-funky-parameters 1 :c 3 :b 2) ___))
  
  
  ;; Note that &rest parameters have to come before &key parameters.
  
negative.code:    (assert-equal 19 ((lambda (a b) (+ a b)) 10 9))
    (let ((my-function))
      (setf my-function (lambda (a b) (* a b)))
      (assert-equal 99 (funcall my-function 11 9)))
    (let ((list-of-functions nil))
      (push (lambda (a b) (+ a b)) list-of-functions)
      (push (lambda (a b) (* a b)) list-of-functions)
      (push (lambda (a b) (- a b)) list-of-functions)
      (assert-equal 66 (funcall (second list-of-functions) 2 33))))
  
  (define-test test-lambdas-can-have-optional-params
     (assert-equal 19 ((lambda (a &optional (b 100)) (+ a b)) 10 9))
     (assert-equal 110 ((lambda (a &optional (b 100)) (+ a b)) 10)))
  
  
  ; returns sign x
  