pub type AccumulateOperation<Out> = fn(Vec<Out>, Out) -> Vec<Out>;
A Fold operation function that uses a Vec as an accumulator
Fold
Vec