-- this is not a perfect calculation yet, but it'll do for now
-- FIXME do a better algorithm


groupUniques :: [String] -> M.Map String Int
groupUniques [] = M.empty
groupUniques :: [String] -> M.Map String Int
groupUniques [] = M.empty
groupUniques [] = M.empty