13        AssociativeAggregationOperator<T, Pair<bool, T>, T> 
associativeAggregationOperator = 
new AssociativeAggregationOperator<T, Pair<bool, T>, T>(
source, 
new Pair<bool, T>(
first: 
false, 
default(T)), 
null, 
seedIsSpecified: 
true, 
intermediateReduce, 
finalReduce, 
resultSelector, 
default(T) != 
null, 
QueryAggregationOptions.AssociativeCommutative);
 
 
 
static Func< Pair< bool, T >, T, Pair< bool, T > > MakeIntermediateReduceFunction(int sign)
 
static T ReduceMin(IEnumerable< T > source)
 
static T ReduceMax(IEnumerable< T > source)
 
static Func< Pair< bool, T >, Pair< bool, T >, Pair< bool, T > > MakeFinalReduceFunction(int sign)
 
static Func< Pair< bool, T >, T > MakeResultSelectorFunction()
 
static T Reduce(IEnumerable< T > source, int sign)