anchor.diff:                          `(block ,name ,(expand-body body)))
                          ((otherwise &rest rest) (declare (ignore rest))
                           (multiple-value-bind (exp exp?)
  -                            (expand-1 form env)
  +                            (expand-1 form env :top top)
                             (if exp?
                                 (expand-partially exp)
                                 (progn
  
positive.code: 
  2. Macro (but not symbol macros!) that are preceded by other
  expressions cannot be used in the partial expansions of subsequent
  forms. \(This simply cannot be done portably.\)
  
  The value returned by the `local` form is that of the last form in
  BODY. Note that definitions have return values in `local' just like
  
negative.code:                           (push `(,name (&rest args) (apply ,temp args)) labels)
                            `(progn (setf ,temp (ensure-function ,expr)) ',name)))
                         ((progn &body body)
                          `(progn ,@(mapcar (lambda (form)
                                              (expand-partially form :top t))
                                            body)))
                         (((prog1 multiple-value-prog1) f &body body)
                          `(,(car form) ,(expand-partially f)
                            ,(expand-body body)))
  