Revert to input iterator over forward, our use-case doesn't need forward. Improve inlining where possible Switch to pre-increment of iterators over post-increment