fn enumerate<T, Acc>(
            mut count: usize,
            mut fold: impl FnMut(Acc, (usize, T)) -> Acc,
        ) -> impl FnMut(Acc, T) -> Acc {
            move |acc, item| {
                count -= 1;
                fold(acc, (count, item))
            }
        }
// Can safely add and subtract the count, as `ExactSizeIterator` promises
// that the number of elements fits into a `usize`.
Can safely add and subtract the count, as `ExactSizeIterator` promises
that the number of elements fits into a `usize`.
Can safely add and subtract the count as ` ExactSizeIterator ` promises that the number of elements fits into a ` usize ` .
fn enumerate<T, Acc>(
            mut count: usize,
            mut fold: impl FnMut(Acc, (usize, T)) -> Acc,
        ) -> impl FnMut(Acc, T) -> Acc {
            move |acc, item| {
                count -= 1;
                fold(acc, (count, item))
            }
        }
fn enumerate < T , Acc > ( mut count : usize , mut fold : impl FnMut ( Acc , ( usize , T ) ) -> Acc , ) -> impl FnMut ( Acc , T ) -> Acc { move | acc , item | { count -= 1 ; fold ( acc , ( count , item ) ) } }
Can safely add and subtract the count, as `ExactSizeIterator` promises
that the number of elements fits into a `usize`.
Can safely add and subtract the count as ` ExactSizeIterator ` promises that the number of elements fits into a ` usize ` .
count
usize
fold
impl FnMut(Acc, (usize, T)) -> Acc