Make the letter_groups() return an iterator instead of pre-calculating all the data it calculates.