anchor.diff:  //  if epoch % 100 = 0 then printfn "%f %f" rms_trained_err rms_validated_err
     printfn "%f %f" rms_trained_err rms_validated_err
     
  -//  let best_trained_err = 0.042608
  -//  let best_test_err = 0.029610
  -//  let best_trained_err = 0.029673
  -//  let best_test_err = 0.028605
     let best_trained_err = 0.019999 //*** CONSIDER PASSING TO PARAMETER.
     let best_test_err = 0.019999
  -  if ((rms_trained_err < best_trained_err) && (rms_validated_err < best_test_err)) then trained
  +  let errTresholdMeet = (rms_trained_err < best_trained_err) && (rms_validated_err < best_test_err)
  +  if errTresholdMeet then trained
     else train ((-) epoch 1) trained (training_samples, teaching_inputs) (testing_samples, teaching_testing_inputs)
  -
   //  train
   //   ((-) epoch 1)
   //   trained
   //   (training_samples, teaching_inputs)
  -//   (testing_samples, teaching_testing_inputs) 
  +//   (testing_samples, teaching_testing_inputs)
  +/// end train f.
  +
  +
   
   let inputSize = 7;
   let hiddenSize = 10;
  
positive.code: 
  let epoch = 10000
  
  
  
  let trained =
   train
    epoch network
  
negative.code: let rec genWeights (rand:System.Random) count =
   match count with
   | 0 -> []
   | _ -> rand.NextDouble()::(genWeights rand ((-) count 1))
  let genRandWeights = genWeights (System.Random())
  
  let network = {
   N = 0.001
   M = 0.9
   Inputs = List.replicate inputSize 0.0
   InputToHiddenWeights = List.chunkBySize inputSize (genRandWeights ((*) inputSize hiddenSize))
   HiddenBias = genRandWeights hiddenSize
  