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-key-params ()
    "Key params allow the user to specify params in any order"
     (assert-equal (func-with-key-params) ___)
     (assert-equal (func-with-key-params :a 11 :b 22) ___)
     ; it is not necessary to specify all key parameters
     (assert-equal (func-with-key-params :b 22) ___)
     ; order is not important
     (assert-equal (func-with-key-params :b 22 :a 0) ___))
  
  (defun func-key-params-can-have-defaults (&key  (a 3 a?) (b 4 b?))
    (list a a? b b?))
  
  (define-test test-key-params-can-have-defaults
      "key parameters can have defaults also"
     (assert-equal (func-key-params-can-have-defaults) ____)
     (assert-equal (func-key-params-can-have-defaults :a 3 :b 4) ___)
     (assert-equal (func-key-params-can-have-defaults :a 11 :b 22) ___)
     (assert-equal (func-key-params-can-have-defaults :b 22) ___)
     ; order is not important
     (assert-equal (func-key-params-can-have-defaults :b 22 :a 0) ___))
  
  
  ;; ----
  
negative.code:   1)
  
  (define-test test-return-from-function-early
     (assert-equal (sign-of -5.5) -1)
     (assert-equal (sign-of 0) 0)
     (assert-equal (sign-of 10) 1))
  
  
  ;; ----
  