anchor.diff:     "Common Lisp optional params may bind a symbol which indicate whether the
       value was provided or defaulted.  Each optional parameter binding has the
       form (var default-form supplied-p)."
  -   (assert-equal (func-with-opt-params-and-indication :test-1 :test-2) ___)
  -   (assert-equal (func-with-opt-params-and-indication :test-1) ___)
  -   (assert-equal (func-with-opt-params-and-indication) ___))
  +   (assert-equal (func-with-opt-params-and-indication :test-1 :test-2) '(:test-1 t :test-2 t))
  +   (assert-equal (func-with-opt-params-and-indication :test-1) '(:test-1 t 3 nil))
  +   (assert-equal (func-with-opt-params-and-indication) '(2 nil 3 nil)))
   
   
   ;; ----
  
positive.code: 
  (define-test test-optional-parameters
      "Optional parameters are filled in with their default value."
     (assert-equal (func-with-opt-params :test-1 :test-2) ___)
     (assert-equal (func-with-opt-params :test-1) ___)
     (assert-equal (func-with-opt-params) ___))
  
  
  ;; ----
  
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
  