(#18) - normalizeKey recursively