Use SelectStr to avoid need for custom type.
Reject empty candidate names.
Reject duplicate candidate names within an election.