public static object Reduce(IApply reducer, IEnumerable seq, params object[] args) { var kwargs = ParseKwargs(args, new string[] { "initial-value", "key" }, MissingValue, null); var seed = kwargs[0]; var key = GetClosure(kwargs[1]); return(SeqBase.ReduceSeq(reducer, seq, seed, key)); }