anchor.diff:           (setf (y-coor neuron) y))
       layer))
   
  -(defun read-data (net csv-file 
  -                  &key outputs-first limit output-labels (cache t))
  -  (let ((cache-file (gethash csv-file (cache net))))
  -    (if (and cache cache-file)
  +(defun read-data (net csv-file)
  +  (let ((cache-file (gethash csv-file (cache net)))
  +        (outputs-first (outputs-first net))
  +        (output-labels (output-labels net)))
  +    (if cache-file
           (slurp-n-thaw cache-file)
           (let (tset)
             (with-lines-in-file (row csv-file)
  
positive.code:                          internal-time-units-per-second))
            for i from 1 to max-iterations
            for mse = 1.0 then (present-vectors 
                                net t-set
                                i
                                start-time
                                report-function
  
negative.code:   (setf (anneal net) nil)
    (setf (shock net) nil))
  
  (defgeneric train (t-net training-file &key)
    (:method ((net t-net)
              (training-file string)
              &key
                (target-mse 0.08)
                (outputs-first nil)
                (max-iterations 1000000)
                (report-frequency 1000)
                (report-function #'default-report-function)
  