anchor.diff:   let out_bias_newDeltas = addVectors out_bias_deltas out_bias_prevDeltasWithM
    let out_bias_update = addVectors net.OutputBias out_bias_newDeltas
    
  - let hid_grads = mulVectors (List.map dervTanH net.HiddenNetOutputs) (List.map (dotProduct out_grads) (transpose net.HiddenToOutputWeights))
  + let hid_grads = mulVectors (List.map deltaTanH net.HiddenNetOutputs) (List.map (dotProduct out_grads) (transpose net.HiddenToOutputWeights))
    let hid_deltas = deltas net.N hid_grads net.Inputs
    let hid_prevDeltasWithM = List.map (sclarVectorMul net.M) net.HiddenPrevDeltas
    let hid_newDeltas = List.map2 addVectors hid_deltas hid_prevDeltasWithM
  
positive.code: let addVectors xs ys    = List.map2 (+) xs ys
  let logSigmoid x        = (/) 1.0 ((+) 1.0 (exp -x))
  let dervLogSigmoid x    = (*) x ((-) 1.0 x)
  let dervTanH x          = (*) (1.0 - x) (1.0 + x)
  let gradient dFunc output target = (*) (dFunc output) ((-) target output)
  
  let weightedSum inputs weights bias =
  
negative.code: 
  /// Maps a scalar to a vector using a mapper function.
  let scalarToVecOp mapper x ys = List.map (mapper x) ys
  
  let rec f2 mapper xs ys = //***normalize
   match xs with
   | [] -> []
  