Um amigo meu me convenceu da opção número três, com a adição de que ele usa uma função auxiliar chamada ensure_plural
para garantir que a entrada esteja no plural antes de continuar. Isso o mantém legal e declarativo. A função auxiliar pode ter algumas formas diferentes:
- Como decorador, apenas modificaria as entradas antes mesmo de chegar à função principal. O problema é que teria que assumir algumas coisas.
- Poderia ser chamado apenas no valor que precisa ser plural quando necessário.
- Eu também criei uma versão chamada
if_plural
, que pegaria um valor e uma função e retornaria o resultado da aplicação da função diretamente ao valor se singular, ou do mapeamento da função sobre o valor se plural .