function recurseCountCharacters([firstCharacter, ...rest], characterToCountMap = {}) {
const currentCharacterCount = characterToCountMap[firstCharacter] || 0;
const newCharacterToCountMap = {
...characterToCountMap,
[firstCharacter]: currentCharacterCount + 1
};
if (rest.length === 0) {
return newCharacterToCountMap;
}
return recurseCountCharacters(rest, newCharacterToCountMap);
}