anchor.diff:    (if (not clauses)
         nil
         (destructuring-bind ((key . body) . clauses) clauses
  -        (if (or (eql key t)
  -                (eql key 'otherwise))
  +        (if (member key '(t otherwise))
               `(progn ,@body)
               `(if (or ,@(mapcar (lambda (key)
                                    `(funcall ,pred ,keyform ',key))
  
positive.code: This uses Paul Khuong's `string-case' macro internally."
    (multiple-value-bind (cases default)
        (normalize-cases cases)
      (once-only (stringform)
        `(string-case:string-case (,stringform :default (progn ,@default))
           ,@(expand-string-case cases)))))
  
  ;; TODO More informative error.
  (defmacro string-ecase (stringform &body cases)
  
negative.code:          (keys (mappend (compose #'ensure-list #'car) cases))
           (err-string (format nil "~~a is not one of ~a" keys)))
      (once-only (stringform)
        (expand-string-case stringform `(error ,err-string ,stringform) cases))))
  
  (assert (eql 'two
               (case-using #'= (+ 1.0 1.0)
  