private T Champion() { Int challengers = LowerBound; T champion = _enumerable.FirstOrDefault(); foreach (T challenger in _enumerable) { challengers = challengers.Incremented(); champion = ChallengeAccepted(challengers, champion, challenger); } return(champion); }