anchor.diff:          on (rest (clouds-up-to-layers dbm))
           while layer
           do (swap-nodes layer-below)
  -        ;; This is an alternative implementation that doubles the
  -        ;; biases from below.
  -        #+nil
           (let* ((layer*
                   (set-difference layer (visible-and-conditioning-chunks dbm)))
                  (layer-above*
  
positive.code: CLOUD and add MULTIPLIER times the cloud statistics of [persistent]
  contrastive divergence."))
  
  (defun hijack-means-to-activation (chunks clouds &key addp)
    "Set NODES of CHUNKS to the activations calculated from CLOUDS. Skip
  chunks that don't need activations. If ADDP don't zero NODES first,
  but add to it."
    ;; Zero activations or copy cached activations coming from
    ;; conditioning chunks.
    (unless addp
      (dolist (chunk chunks)
        (unless (conditioning-chunk-p chunk)
          (zero-chunk chunk))))
    (dolist (cloud clouds)
      (when (and (member (chunk2 cloud) chunks)
                 (not (conditioning-chunk-p (chunk2 cloud))))
  
negative.code:           (dolist (chunk layer*)
              (when (connects-to-p chunk layer-above* clouds-up-to-layer-above)
                (matlisp:scal! #.(flt 2) (nodes chunk))))
            (map nil #'set-chunk-mean layer*)
            (swap-nodes layer-below))))
  
  