private Either <string, int> Validate(DeleteIngredient command) =>
 GreatThanZero(command.Id)
 .ToEither("O id para deletar tem que ser maior que 0");
 public Task <Either <string, Unit> > Handle(DeleteIngredient command) =>
 Validate(command)
 .Match <Task <Either <string, Unit> > >(
     async id => await _ingredientRepository.Delete(id),
     (v) => Task.FromResult(new Either <string, Unit>(v))
     );