anchor.diff:    (is (string= "Hello, world"
                  (string-join (list "Hello" "world") ", "))))
   
  -(deftest test-filter ()
  -  (is (equal (multiple-value-list (filter nil nil))
  -             (list nil nil)))
  -  (is (equal (multiple-value-list (filter (constantly t) (list 1 2 3)))
  -             (list (list 1 2 3) nil)))
  -  (is (equal (multiple-value-list (filter (constantly nil) (list 1 2 3)))
  -             (list nil (list 1 2 3))))
  -  (is (equal (multiple-value-list (filter #'oddp (list 1 2 3 4 5)))
  -             (list (list 1 3 5) (list 2 4)))))
  -
  -(deftest test-split-at ()
  -  (is (eq (split-at -10 (list 1 2 3)) nil))
  -  (is (eq (split-at 0 nil) nil))
  -  (is (eq (split-at 0 1) nil))
  -  (multiple-value-bind (x y) (split-at 0 (list 1 2 3))
  -    (is (and (equal x nil)
  -             (equal y (list 1 2 3)))))
  -  (is (equal (split-at 100 (list 1 2 3)) (list 1 2 3)))
  -  (multiple-value-bind (x y) (split-at 1 (list 1 2 3))
  -    (is (and (equal x (list 1))
  -             (equal y (list 2 3))))))
  -
   (deftest test-doctest ()
     "This is a sample docstring.
   
  
positive.code:   (is (equal (list 1 2 3) (drop-while (constantly nil)
                                        (list 1 2 3)))))
  
  (deftest test-flip ()
    (is (= (funcall (flip #'-) 1 2) 1))
    (is (= (funcall (flip #'-) 2 1) -1)))
  
negative.code:   (is (eq nil (replicate -1 'x)))
    (is (eq nil (replicate 0 'x)))
    (is (equal (list 1 1 1) (replicate 3 1))))
  
  (deftest test-span ()
    (let ((xs (list 1 1 1 3 5 6 8)))
     (is (eq (span nil xs) nil))
     (is (eq (span (constantly t) nil) nil))
     (is (eq (span (constantly nil) xs) nil))
     (is (equal (span (constantly t) xs) xs))
     (multiple-value-bind (x y) (span #'oddp xs)
       (is (equal x (list 1 1 1 3 5)))
       (is (equal y (list 6 8))))))
  
  (deftest test-split-at ()
    (is (eq (split-at -10 (list 1 2 3)) nil))
    (is (eq (split-at 0 nil) nil))
    (is (eq (split-at 0 1) nil))
    (multiple-value-bind (x y) (split-at 0 (list 1 2 3))
      (is (and (equal x nil)
               (equal y (list 1 2 3)))))
    (is (equal (split-at 100 (list 1 2 3)) (list 1 2 3)))
    (multiple-value-bind (x y) (split-at 1 (list 1 2 3))
      (is (and (equal x (list 1))
               (equal y (list 2 3))))))
  
  (deftest test-starts-with ()
    (is (eq t (starts-with "Hello, world!" "Hell")))
  