anchor.diff:        (cdr form)
       (with-form-object (throw throw-form :parent parent :source form)
         (setf (tag throw) (walk-form tag throw env)
  -            (value throw) (walk-form result throw env)))))
  +            (value-of throw) (walk-form result throw env)))))
   
   ;;;; EVAL-WHEN
   
  
positive.code: 
  (defclass throw-form (form)
    ((tag :accessor tag :initarg :tag)
     (value :accessor value :initarg :value)))
  
  (defwalker-handler catch (form parent env)
    (destructuring-bind (tag &body body)
  
negative.code: (defclass load-time-value-form (form)
    ((body :accessor body :initarg :body)
     (read-only :initform nil :accessor read-only-p :initarg :read-only)
     (value :accessor value-of)))
  
  (defmethod initialize-instance :after ((self load-time-value-form) &key)
    (setf (value-of self) (eval (body self))))
  
  (defwalker-handler load-time-value (form parent env)
    (assert (<= (length form) 3))
  