anchor.diff:                                     (?
                                        .names                `((%= nil (,.names.)))
                                        (not *cps-toplevel?*) `((%= nil (~%cont ~%ret)))))))))
  -              (alet (create-funinfo :name   name
  -                                    :args   args
  -                                    :body   body
  -                                    :parent *funinfo*)
  +              (alet (create-funinfo :name    name
  +                                    :args    args
  +                                    :body    body
  +                                    :parent  *funinfo*)
                   (pop (funinfo-vars !)))
                 (pop names)
                 (funinfo-var-add *funinfo* name)
  
positive.code:            (format t "; CPS transforming ~A.~%" name)
             (list (copy-lambda x :args (. '~%cont args) :body (cps-body body))
                   `(%= (%slot-value ,name _cps-transformed?) t)))
           (list (copy-lambda x :body (cps-subfuns body)))))))
  
  (defun cps-subfuns (x)
    (when x
      (+ (?
           (named-lambda? x.)  (cps-fun x.)
           (cps-call? x.)      (alet (%=-value x.)
                                 `((%= ,(%=-place x.) (,!. cps-identity ,@.!))))
           (list x.))
         (cps-subfuns .x))))
  
  (defun cps (x)
  
negative.code:                (list (cons ! _.)))]
            x))
  
  (defun cps-make-funs (&key names tag-names bodies)
    (let last-place nil
      (mapcan [with (name names.
                     args (? last-place
  