groupUniques (x:xs) = M.insertWith (\ new old -> new + old) x 1 map
    where map = groupUniques xs
-- easy way to test this:
-- list <- test
-- groupUniques . compareAllList $ list


-- testing function
groupUniques (x:xs) = M.insertWith (\ new old -> new + old) x 1 map
    where map = groupUniques xs
-- easy way to test this:
-- list <- test
-- groupUniques . compareAllList $ list


-- testing function
groupUniques (x:xs) = M.insertWith (\ new old -> new + old) x 1 map
    where map = groupUniques xs
-- easy way to test this:
-- list <- test
-- groupUniques . compareAllList $ list


-- testing function