classify :: V.Vector LabelPixel -> UV.Vector Int -> Int
classify !training !pixels = _label mini where
  dist !x !y = UV.sum . UV.map (^2) $ UV.zipWith (-) x y
  comp !p1 !p2 = dist (_pixels p1) pixels `compare` dist (_pixels p2) pixels
  mini = V.minimumBy comp training
classify :: V.Vector LabelPixel -> UV.Vector Int -> Int
classify !training !pixels = _label mini where
  dist !x !y = UV.sum . UV.map (^2) $ UV.zipWith (-) x y
  comp !p1 !p2 = dist (_pixels p1) pixels `compare` dist (_pixels p2) pixels
  mini = V.minimumBy comp training
classify !training !pixels = _label mini where
  dist !x !y = UV.sum . UV.map (^2) $ UV.zipWith (-) x y
  comp !p1 !p2 = dist (_pixels p1) pixels `compare` dist (_pixels p2) pixels
  mini = V.minimumBy comp training