anchor.diff:     if you call the resultant function with no arguments, you get the
        collection so far
      if you call it with arguments the results of calling your function spec are
  -     collected "
  +     collected
  +   (with-mapping-collector (col (x) (* 2 x))
  +       (col 1)
  +       (col 2)
  +       (col 3)
  +       (col)) => (2 4 6)
  +   "
     (alexandria:with-unique-names (col flet-args)
       `(let ((,col (make-collector)))
         (flet ((,name (&rest ,flet-args)
  
positive.code:    if you call the resultant function with no arguments, you get the
       collection so far
     if you call it with arguments the results of calling your function spec are
       collected "
    (alexandria:with-unique-names (col flet-args)
      `(let ((,col (make-appender)))
        (flet ((,name (&rest ,flet-args)
  
negative.code:         ,@body))))
  
  ;; Copyright (c) 2002-2006, Edward Marco Baringer
  ;; Copyright (c) 2011, Russ Tyndall, Acceleration.net
  ;; All rights reserved.
  ;;
  ;; Redistribution and use in source and binary forms, with or without
  