anchor.diff:    (dotimes (i 10)
       (let ((word (format nil \"~r\" i)))
         (collect (length word) word)))
  -```
  -Result: <hash table: 5 => (\"three\" \"seven\" \"eight\")
  -                     3 => (\"one\" \"two\" \"six\")
  -                     4 => (\"zero\" \"four\" \"five\" \"nine\")>
  -
  -The mode can be set in the parameters section of collecting-hash-table with the
  -:mode keyword. The :mode keyword can also be passed to individual collect calls.
  -
  -Keyword parameters:
  -
  -:test - Test function parameter passed to make-hash-table when creating a new
  -hash table
  -
  -:existing - Pass an existing hash table to the macro for modification. Using
  -this option at the same time as :test will result in an error.
  -
  -:mode - Set the default mode for the collect function. Modes are :replace :keep
  -:tally :sum :append :push or a function that will be applied in a reduce-like
  -fashion to the existing and new values of a key."
  +  ```
  +  Result: <hash table: 5 => (\"three\" \"seven\" \"eight\")
  +                       3 => (\"one\" \"two\" \"six\")
  +                       4 => (\"zero\" \"four\" \"five\" \"nine\")>
  +
  +  The mode can be set in the parameters section of collecting-hash-table with the
  +  :mode keyword. The :mode keyword can also be passed to individual collect calls.
  +
  +  Keyword parameters:
  +
  +  :test - Test function parameter passed to make-hash-table when creating a new
  +  hash table
  +
  +  :existing - Pass an existing hash table to the macro for modification. Using
  +  this option at the same time as :test will result in an error.
  +
  +  :mode - Set the default mode for the collect function. Modes are :replace :keep
  +  :tally :sum :append :push or a function that will be applied in a reduce-like
  +  fashion to the existing and new values of a key."
     (and test-set-p existing
          (error "Can't set test when reusing an existing hash table"))
     (let ((fill (gensym))
  
positive.code:        (push v stor))
       hsh)
      (nreverse stor)))
  
  
negative.code:        (:replace (list
                    (lambda (e n) (declare (ignore e)) n)
                    (lambda (v) v)))
         (:keep (list
                 (lambda (e n) (declare (ignore n)) e)
                 (lambda (v) v)))
         (:tally (list
                  (lambda (e n) (declare (ignore n)) (1+ e))
                  (lambda (v) (declare (ignore v)) 1)))
         (:sum (list
                (lambda (e n) (+ e n))
                (lambda (v) v)))
         (:append (list
                   (lambda (e n) (nconc e (list n)))
                   (lambda (v) (list v))))
         (:push (list
                 (lambda (e n) (cons n e))
                 (lambda (v) (list v))))
         (otherwise (error "Mode not found"))))
      (function
       (list
        (lambda (e n) (funcall mode e n))
  