anchor.diff:      (setq f2 '-)
       (setq f3 'max)
   
  -    (assert-equal ___ (apply f1 '(1 2)))
  -    (assert-equal ___ (apply f2 '(1 2)))
  +    (assert-equal 3 (apply f1 '(1 2)))
  +    (assert-equal -1 (apply f2 '(1 2)))
   
       ; after the function name, the parameters are consed onto the front
       ; of the very last parameter
  -    (assert-equal ___ (apply f1 1 2 '(3)))
  -    (assert-equal ___ (apply f3 1 2 3 4 '()))))
  +    (assert-equal 6 (apply f1 1 2 '(3))) ;; same: (apply f1 1 2 3)
  +    (assert-equal 4 (apply f3 1 2 3 4 '()))))
   
   
   (define-test test-apply-function-with-funcall
  
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:   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 30) 1))
  
  
  ;; ----
  