Return candidates on short-circuitings (seats >= candidates or seats <= 0) or we risk a NoneType error with a blank result.