public static PushAggregator <T, T> Min <T, TCompare>(this IPushingEnumerator <T> source, Func <T, TCompare> selector)
 => new PushAggregator <T, T>(source, GetMinIterator(selector));
 public static PushAggregator <T, T> Last <T>(this IPushingEnumerator <T> source)
 => new PushAggregator <T, T>(source, GetLastIterator <T>());
 public static PushAggregator <T, int> Count <T>(this IPushingEnumerator <T> source, Func <T, bool> predicate = null)
 => new PushAggregator <T, int>(source, GetCountIterator(predicate));