anchor.diff:                      (not (cached-p chunk)))))
         ;; Zero activations or copy cached activations coming from
         ;; conditioning chunks.
  -      (dolist (chunk chunks)
  -        (unless (conditioning-chunk-p chunk)
  -          (if (cached-p chunk)
  -              (progn
  -                ;;(format *trace-output* "Copy act: ~A~%" chunk)
  -                (copy-chunk-nodes chunk (static-activations chunk)
  -                                  (nodes chunk)))
  -              (zero-chunk chunk))))
  +      (unless addp
  +        (dolist (chunk chunks)
  +          (unless (conditioning-chunk-p chunk)
  +            (if (cached-p chunk)
  +                (progn
  +                  ;;(format *trace-output* "Copy act: ~A~%" chunk)
  +                  (copy-chunk-nodes chunk (static-activations chunk)
  +                                    (nodes chunk)))
  +                (zero-chunk chunk)))))
         ;; Calculate the activations coming from conditioning chunks if
         ;; they are to be cached.
         (flet ((foo (to-chunk from-chunk cloud)
  
positive.code:                                              *static-activation-contexts*)))
       ,@body))
  
  (defun hijack-means-to-activation (chunks clouds bm)
    "Set NODES of CHUNKS to the activations calculated from CLOUDS. Skip
  chunks that don't need activations."
    (destructuring-bind (static-activations-context static-chunks)
  
negative.code:         on (rest (clouds-up-to-layers dbm))
          while layer
          do (swap-nodes layer-below)
          (let* ((layer*
                  (set-difference layer (visible-and-conditioning-chunks dbm)))
                 (layer-above*
                  (set-difference layer-above
                                  (visible-and-conditioning-chunks dbm)))
                 (conditioning-clouds
                  (conditioning-clouds-to layer* clouds-up-to-layer))
                 (conditioning-clouds-above
                  (conditioning-clouds-to layer* clouds-up-to-layer-above)))
            (hijack-means-to-activation layer* (set-difference clouds-up-to-layer
                                                               conditioning-clouds)
                                        dbm)
            ;; Double activations of chunks in LAYER that have non-bias
            ;; connections to LAYER-ABOVE.
            (dolist (chunk layer*)
              (when (connects-to-p chunk layer-above* clouds-up-to-layer-above)
                (matlisp:scal! #.(flt 2) (nodes chunk))))
            (hijack-means-to-activation layer* conditioning-clouds dbm
                                        :addp t)
            (hijack-means-to-activation layer* conditioning-clouds-above dbm
                                        :addp t)
            (map nil #'set-chunk-mean layer)
            (swap-nodes layer-below))))
  
  (defun down-dbm (dbm)
    "Do a single downward pass in DBM, propagating the mean-field much
  