anchor.diff:  
   (mac check (x test &optional alt)
     "If x passes the test, otherwise evaluate alt"
  -  `(let1 x@ ,x
  -     (lf (funcall ,test x@)
  +  `(let x@ ,x
  +     (if (funcall ,test x@)
   	 x@
   	 ,alt)))
   
  
positive.code: ;;;; utilities which do not belong in any other file
  
  (mac ado (&body body)
    "Evaluates each expression with it bound to the result of
     the previous one. Returns the value of the last expression"
    (lf (null body)
          nil
        (single body)
          (car body)
        `(let1 it ,(car body)
  	(declare (ignorable it))
          (ado ,@(cdr body)))))
  
  (mac accum (accfn &body body)
    "The result is all of the arguments passed into accfn"
    `(let1 gacc@ '()
       (flet1 ,accfn (garg) (push garg gacc@)
         ,@body)
       (nrev gacc@)))
  
negative.code:   "Checks if the result of evaluating x is the result of
     one of the other arguments. Only evaluates arguments
     as necessary"
    `(let val@ ,x
       (or ,@(map (fn (c) `(is val@ ,c)) choices))))
  
  (mac cart (f xs ys)
    "Applies the function f to a subset of the cartesian product of xs and 
     ys. The element from xs is bound to 'it' which can be used to change what
     ys is"
    `(mapcan (fn (it) ; we can use mapcan because map creates new conses
  	       (map (fn (@y)
  			(funcall ,f it @y))
  		    ,ys))
  	   ,xs))
  