anchor.diff:  
   (defgeneric simp-form (form))
   
  -(defun simp-form-list (x)
  -  (do ((i x (cdr i)))
  -      ((endp i))
  -    (setf (car i) (cond ((and (typep (car i) 'ast-let)
  -                              (typep (ast-body (car i)) 'ast-the))
  -                         ;; Hoist the forms out of lets.
  -                         (change-made)
  -                         (ast `(the ,(the-type (ast-body (car i)))
  -                                    ,(simp-form (car i)))
  -                              (car i)))
  -                        (t
  -                         (simp-form (car i)))))))
  +(defgeneric fetch-inner-the-type (form)
  +  (:documentation "Descend FORM as fetch the type of the outermost THE form type.
  +Returns NIL if there is no THE form.")
  +  (:method ((form ast-node)) nil))
  +
  +(defmethod fetch-inner-the-type ((form ast-the))
  +  (ast-the-type form))
  +
  +(defmethod fetch-inner-the-type ((form ast-block))
  +  (fetch-inner-the-type (ast-body form)))
  +
  +(defmethod fetch-inner-the-type ((form ast-let))
  +  (fetch-inner-the-type (ast-body form)))
  +
  +(defmethod fetch-inner-the-type ((form ast-multiple-value-bind))
  +  (fetch-inner-the-type (ast-body form)))
  +
  +(defmethod fetch-inner-the-type ((form ast-multiple-value-prog1))
  +  (fetch-inner-the-type (ast-value-form form)))
  +
  +(defmethod fetch-inner-the-type ((form ast-progn))
  +  (cond ((ast-forms form)
  +         (fetch-inner-the-type (first (last (ast-forms form)))))
  +        (t nil)))
  +
  +(defmethod fetch-inner-the-type ((form ast-unwind-protect))
  +  (fetch-inner-the-type (ast-protected-form form)))
  +
  +(defun hoist-the-form-to-edge (form)
  +  (cond ((typep form 'ast-the)
  +         form)
  +        (t
  +         (let ((the-type (fetch-inner-the-type form)))
  +           (cond (the-type
  +                  (change-made)
  +                  (ast `(the ,the-type ,form) form))
  +                 (t form))))))
   
   (defmethod simp-form ((form ast-block))
     (cond
  
positive.code:                                              (t nil))))
                                     (bindings form)))
    (dolist (b (bindings form))
      (setf (second b) (simp-form (second b))))
    (setf (body form) (simp-form (body form)))
    ;; Rewrite (let (... (foo ([progn,let] x y)) ...) ...) to (let (...) ([progn,let] x (let ((foo y) ...) ...))) when possible.
    (when (not (let-binds-special-variable-p form))
  
negative.code:         ((and (eql (name form) 'mezzano.runtime::%funcall)
                (typep (unwrap-the (first (arguments form))) 'ast-function))
           (change-made)
           (ast `(call ,(name (unwrap-the (first (arguments form))))
                       ,@(rest (arguments form))) form))
          ;; (funcall fn ...) = (%funcall (%coerce-to-callable fn) ...)
  