anchor.diff:           (*reference-list* (or reference-cache
                                  (reference-list-for-rooturl rooturl)))
            (root-ax (opinion-axis-data (list* nil tree))))
  +    (setf (getf root-ax :referenced) (get-references-to rooturl))
  +    (setf (getf root-ax :referenced-effect)
  +          (referenced-effect (getf root-ax :referenced)))
       (setf (getf root-ax :effect) (calculate-axdat-effect root-ax nil))
       (setf (getf root-ax :controversy) (calculate-axdat-controversy root-ax))
  -    (setf (getf root-ax :referenced) (get-references-to rooturl))
       (setf (gethash :root *opinion-effect-cache*) root-ax)
       ;;FIXME: Side effect!! Need a better way to cache results. This is just a hack for now.
       (setf (gethash rooturl *warstat-store*) root-ax)
  
positive.code: (defun calculate-reference-effects (effect controv ref-effect ref-controv)
    "References will obviously have their own opinions, ranking, controversy and effect. We can't just take the reputation of the reference and import it into the current conversation. The referrer may be abusing the reference in any number of creative ways. The first two parameters are the values of the reference. The second two are from the discussion that resulted from the reference being posted. We are attempting to come up with a reasonable value that reflects the quality of the original reference with its applicability to the current discussion. Much wildly arbitrary guesswork follows."
    (list (* (or effect 0) (or ref-effect 0)) (* (or controv 0) (or ref-controv 0))))
  
  (defun reference-data (optree)
    ;;When we are getting reference data for a rooturl, car will be nil
  
negative.code:                         ;;FIXME: This constant should be 1. documented 2. elsewhere
                          ;;represents rooturl initial effect
                          1))
             (raw-score (+ initial likedness (* 2 rightness) worries
                           (getx :referenced-effect))))
        (if (< 0 raw-score)
            (* raw-score (calculate-axdat-interest axis-data))
            0))))
  
  (defun calculate-axdat-controversy (axis-data)
    (labels ((getx (key)
               (car (getf axis-data key))))
  