anchor.diff:  (defmethod set-n-stripes (n-stripes (cloud cloud)))
   (defmethod set-max-n-stripes (max-n-stripes (cloud cloud)))
   
  -(defgeneric activate-cloud (cloud reversep)
  -  (:documentation "From OLD-NODES of CHUNK1 calculate the activations
  -of CHUNK2 and _add_ them to NODES of CHUNK2. If REVERSEP then swap the
  -roles of the chunks. In the simplest case it adds weights (of CLOUD) *
  -OLD-NODES (of CHUNK1) to the nodes of the hidden chunk."))
  +(defun activate-cloud (cloud reversep &key (from-fn #'old-nodes) (to-fn #'nodes))
  +  "From CHUNK1 calculate the activations of CHUNK2 and _add_ them to
  +CHUNK2. If REVERSEP then swap the roles of the chunks. FROM-FN and
  +TO-FN are the accessors to use to get the nodes value arrays (one of
  +#'NODES, #'OLD-NODES, #'MEANS. In the simplest case it adds
  +weights (of CLOUD) * OLD-NODES (of CHUNK1) to the nodes of the hidden
  +chunk."
  +  (activate-cloud* cloud reversep from-fn to-fn))
  +
  +(defgeneric activate-cloud* (cloud reversep from-fn to-fn)
  +  (:documentation "Like ACTIVATE-CLOUD but without keyword parameters."))
   
   (defgeneric accumulate-cloud-statistics (trainer bm cloud multiplier)
     (:documentation "Take the accumulator of TRAINER that corresponds to
  
positive.code:       (loop for i below (chunk-size (chunk1 cloud)) do
              (setf (matlisp:matrix-ref weights i i) #.(flt 0))))))
  
  (defmethod activate-cloud ((cloud full-cloud) reversep)
    (declare (optimize (speed 3) #.*no-array-bounds-check*))
    (if (not reversep)
        (let ((weights (weights cloud))
              (from (old-nodes (chunk1 cloud)))
              (to (nodes (chunk2 cloud)))
              (scale (scale2 cloud)))
          (declare (type flt scale))
          (if (use-blas-on-chunk-p (cost-of-gemm weights from :nn)
                                   (chunk1 cloud))
              (matlisp:gemm! scale weights from (flt 1) to)
  
negative.code: (defgeneric zero-weight-to-self (cloud)
    (:documentation "In a BM W_{i,i} is always zero."))
  
  (defmethod activate-cloud* :before (cloud reversep from-fn to-fn)
    (zero-weight-to-self cloud))
  
  ;;; Return the chunk of CLOUD that's among CHUNKS and the other chunk
  