This introduces the `FoldResut` trait to move from `func(receiver, ...)` style to `receiver.func(...)` style. Also add a means to pass the default result explicitly.
fold_ok
Add a utility that folds an iterator into a result and uses it to reduce boilerplate in the codebase.