anchor.diff:  
   (defun format (stream string-or-fn &rest args)
     (cond ((stringp stream)
  -         (cl:format stream "~A"
  -                      (with-output-to-string (stream)
  -                        (apply #'format stream string-or-fn args)))
  +         (apply #'format (make-instance 'sys.int::string-output-stream
  +                                        :element-type 'character
  +                                        :string stream)
  +                string-or-fn args)
            nil)
           ((null stream)
            (with-output-to-string (stream)
  
positive.code: (defun next-directive (start end)
    (let (i j ii k count c close
          (pairs '((#\( . #\)) (#\[ . #\]) (#\< . #\>) (#\{ . #\}))))
      (multiple-value-setf (i j) (next-directive1 start end))
      (when i
        (setf c (aref *string* j))
        (setf close (cdr (assoc c pairs)))
        (when close
          (setf k j count 0)
          (loop
            (multiple-value-setf (ii k) (next-directive1 k end))
            (when (null ii) (err 4 "No matching close directive" j))
            (when (eql (aref *string* k) c) (incf count))
            (when (eql (aref *string* k) close) (decf count)
  
negative.code: (defun compile-format (start end)
    (let ((result nil))
      (prog (c i j fn)
       L(setf (values c i j) (next-directive start end))
        (when (if (null c) (< start end) (< start i))
          (push (literal start (if i i end)) result))
        (when (null c) (return (nreverse result)))
  