anchor.diff:  STREAM can be used to specify a stream to write to, like the first
   argument to `format'. The default behavior, with no stream specified,
   is to return a string."
  -  (declare (string string)
  -           ((or function hash-table) table)
  -           (array-index start)
  -           ((or array-index null) end)
  -           (optimize (safety 1) (debug 0)))
  -  (unless end
  -    (setf end (length string)))
  -  (with-string (stream stream)
  -    (with-type-dispatch (function hash-table) table
  -      (with-string-dispatch () string
  -        (flet ((rep (c)
  -                 (etypecase table
  -                   (function (funcall table c))
  -                   (hash-table (gethash c table)))))
  -          (declare (inline rep))
  -          (nlet escape ((start start))
  -            (when (< start end)
  -              (let ((next (position-if #'rep string
  -                                       :start start
  -                                       :end end)))
  -                (if (not next)
  -                    (write-string string stream :start start :end end)
  -                    (progn
  -                      (write-string string stream :start start :end next)
  -                      (let ((escape (rep (char string next))))
  -                        (unless (emptyp escape)
  -                          (write-string escape stream))
  -                        (escape (1+ next)))))))))))))
  +  (escape/no-arg-parsing string table
  +                         start
  +                         end
  +                         stream))
  +
  +(define-compiler-macro escape (string table &key (start 0) end stream)
  +  `(escape/no-arg-parsing ,string
  +                          ,table
  +                          ,start
  +                          ,end
  +                          ,stream))
   
   (-> ellipsize (string array-length &key (:ellipsis string)) string)
   (defun ellipsize (string n &key (ellipsis "..."))
  
positive.code:                        (rep (+ match len)
                              (1- count)))))))))))))
  
  (defun chomp (string
                &optional
                  (suffixes '#.(sort
  
negative.code:                           `((lambda (s)
                                (and (plusp (length s))
                                     (,',test ,(character suffix)
                                              (aref s (1- (length s))))))
                              (string ,string))
                            call)))))
      (dcm string$= char=)
  