optimizing :: [Point] -> Double -> [Point]
optimizing listOfPoints epsi = do
    let listOfLines'     = listOfLines listOfPoints (length listOfPoints) 0 False True []
    let listOfFinalLines = foldl (\acc x -> acc ++ [getSparePoint x epsi]) [] listOfLines'
    let takeOf           = foldl (++) [] listOfFinalLines
    listOfPoints \\ takeOf
optimizing :: [Point] -> Double -> [Point]
optimizing listOfPoints epsi = do
    let listOfLines'     = listOfLines listOfPoints (length listOfPoints) 0 False True []
    let listOfFinalLines = foldl (\acc x -> acc ++ [getSparePoint x epsi]) [] listOfLines'
    let takeOf           = foldl (++) [] listOfFinalLines
    listOfPoints \\ takeOf
optimizing listOfPoints epsi = do
    let listOfLines'     = listOfLines listOfPoints (length listOfPoints) 0 False True []
    let listOfFinalLines = foldl (\acc x -> acc ++ [getSparePoint x epsi]) [] listOfLines'
    let takeOf           = foldl (++) [] listOfFinalLines
    listOfPoints \\ takeOf