the input range to fold
the initial values of each accumulator (optional), one for each predicate
Either the accumulated result for a single predicate, or a `Tuple` of results.
See Implementation