Note on iterators: try_fold()
can basically be the primitive that everything else is implemented from: https://github.com/rust-lang/rust/issues/45594
That's the main thing I wanted to track but there's other issues to consider:
unsafe{}
, either by making the API unsafe or writing safe iterators with unsafe code?