anchor.diff:  (defmacro while* (test &body body)
     "TEST is evaluated. If the result is true, then BODY is executed as
   an implicit PROGN, else the loop terminates. This cycle repeats as
  -long as TEST evaluates to true."
  +long as TEST evaluates to true.
  +Establishes a block named NIL."
     `(loop while ,test do (progn ,@body)))
  
positive.code:   "Analogous to DOLIST, but for alists.
  Throws an error if one of the items in the list is not a list (cons or
  nil). If an entry is NIL, then both key and value will be NIL (or
  should this throw an error?)."
    (with-unique-names (assoc)
      `(dolist (,assoc ,alist ,result)
        (let ((,key (car ,assoc))
  
negative.code:   "Just like DOTIMES, but without a var argument.
  This saves you from having to name the variable and makes explicit the
  fact you won't need its value. Of marginal value, but offers a nice
  alternative to (loop repeat count do body finally result).
  Establishes a block named NIL."
    (with-unique-names (ignored-var)
      `(dotimes (,ignored-var ,count ,@(if result (list result)))
         ,@body)))
  