anchor.diff:      "We can apply a function to each member
        of a list using mapcar."
     (defun times-two (x) (* x 2))
  -  (assert-equal ____ (mapcar #'times-two '(1 2 3)))
  -  (assert-equal ____ (mapcar #'first '((3 2 1) 
  -                                      ("little" "small" "tiny") 
  +  (assert-equal '(2 4 6) (mapcar #'times-two '(1 2 3)))
  +  (assert-equal '(3 "little" "pigs") (mapcar #'first '((3 2 1)
  +                                      ("little" "small" "tiny")
                                         ("pigs" "hogs" "swine")))))
   
   
  
positive.code:     "The mapcar function can be applied to
       more than one list. It applies a function
       to successive elements of the lists."
    (assert-equal ____ (mapcar #'* '(1 2 3) '(4 5 6)))
    (assert-equal ____ (mapcar #'list '("lisp" "are") '("koans" "fun"))))
  
  
  (define-test test-transpose-using-mapcar
      "Replace the usage of WRONG-FUNCTION in 'transpose' with the
       correct lisp function (don't forget the #')."
    (defun WRONG-FUNCTION-1 (&rest rest) '())
    (defun transpose (L) (apply #'mapcar (cons #'WRONG-FUNCTION-1 L)))
    (assert-equal '((1 4 7)
                    (2 5 8) 
                    (3 6 9)) 
                  (transpose '((1 2 3) 
                               (4 5 6) 
                               (7 8 9))))
    (assert-equal '(("these" "pretzels" "are")
                    ("making" "me" "thirsty"))
  
negative.code:     "mapcar and reduce are a powerful combination.
       insert the correct function names, instead of WRONG-FUNCTION-X
       to define an inner product."
    (defun inner (x y)
      (reduce #'+ (mapcar #'* x y)))
    (assert-equal 32 (inner '(1 2 3) '(4 5 6)))
    (assert-equal 310 (inner '(10 20 30) '(4 3 7))))
  