anchor.diff:      let vectors = [| for sample in samples -> sample.Vector |]
   
   
  -    let getMinsAndMaxsOfDimensins vectors = 
  +    let getMinsRangesAndMaxsOfDimensions vectors = 
           let first = Seq.head vectors
           let mins = Array.copy first
           let maxs = Array.copy first
  
positive.code:             printf "%s" ((fst grp).PadRight(18))
              printfn "%d" (snd grp |> Array.length) )
  
      let doneThreshold = 0.001;
      let checkKeepGoing (centroids : float [][]) (newCentroids : float[][]) dimensionRanges =
          (centroids, newCentroids)
          ||> Seq.map2 (Seq.map2 (-))
          |> Seq.map (Seq.map2 (fun range delta -> abs (delta / range)) dimensionRanges)
          |> Seq.collect (id)
          |> Seq.exists (fun delta -> delta >= doneThreshold)
         
      let randomCentroids, dimensionRanges = getRandomCentroids classCount vectors
  
      let mutable keepGoing = true
      let mutable centroids = randomCentroids
      let mutable count = 0
  
      while keepGoing do
          let clusters = samples |> Array.groupBy (fun sample -> selectNearestPoint sample.Vector centroids)   
          printfn ""
          clusters |> Array.iter displayCluster
          let newCentroids = clusters |> Array.map getNewCentroid
          keepGoing <- checkKeepGoing centroids newCentroids dimensionRanges
          centroids <- newCentroids
          count <- count + 1
          printfn "Completed cycle:  %d" count
  
negative.code:     let selectNearestPoint origin points =
          points |> Array.minBy (distance origin)
  
      let getNewClusters samples centroids = 
          samples |> Array.groupBy (fun sample -> selectNearestPoint sample.Vector centroids) 
  
      let getNewCentroid cluster =
          let oldCentroid , samples  = cluster       
          let vectors = samples |> Array.map(fun sample -> sample.Vector)
          vectors 
              |> Array.reduce (Array.map2 (+)) 
              |> Array.map (fun x -> x / float samples.Length)
  
      let doneThreshold = 0.001;
      let checkKeepGoing (centroids : float [][]) (newCentroids : float[][]) dimensionRanges =
          (centroids, newCentroids)
          ||> Seq.map2 (Seq.map2 (-))
          |> Seq.map (Seq.map2 (fun range delta -> abs (delta / range)) dimensionRanges)
          |> Seq.collect (id)
          |> Seq.exists (fun delta -> delta >= doneThreshold)
         
  
      let displayCluster cluster =
          printfn ""
  