anchor.diff:  
   binds *print-pretty* to nil
   "
  -  (let* (*print-pretty*
  +  (let* ((*print-pretty* pretty)
            (format-string (if delimiter
                               (format nil "~~{~~?~~^~a~~}" delimiter)
                               "~{~?~}")))
  
positive.code:          (with-collectors ,(cdr names) ,@body))
        `(progn ,@body)))
  
  (defun make-formatter (&key delimiter stream)
    "Create a string formatter collector function.
  
  creates a (lambda &optional format-string &rest args) and collects these in a list
  
negative.code:       (lambda (&rest args)
          (cond
            ((null args)
             (let ((*print-pretty* pretty))
               (format stream format-string (value))))
            (args
             (destructuring-bind (format-string &rest args) args
                 (value format-string args))))
          ))))
  
  (defmacro with-formatter ((name &key delimiter stream pretty) &body body)
    "A macro makes a function with name for body that is a string formatter
  see make-formatter"
    (alexandria:with-unique-names (fn-sym)
      `(let ((,fn-sym (make-formatter :delimiter ,delimiter :stream ,stream
                                      :pretty ,pretty)))
         (flet ((,name (&rest args) (apply ,fn-sym args)))
           ,@body))))
  
  (defmacro with-formatter-output ((name &key delimiter stream pretty) &body body)
    "A macro makes a function with name for body that is a string formatter
  see make-formatter.
  This form returns the result of that formatter"
    `(with-formatter (,name :delimiter ,delimiter :stream ,stream :pretty ,pretty)
       ,@body
       (,name)))
  
  (defun make-string-builder (&key
                                delimiter
                                (ignore-empty-strings-and-nil t)
                                pretty
                                stream)
    "Create a function that will build up a string for you
     Each call to the function with arguments appends those arguments to the string
     with an optional delimiter between them.
  