i don't find it amusing that i just ran into a compile error with some fucking STL shit, wrote the quick work around to do it without the STL, since it's NOT THAT HARD (tm), then got curious and started looking through the STL code to see why the error occured and what was going on, and discovered that deep down, like 3 files in and nested within like 12 templated functions, all prefixed with multiple underscores, i found exactly the same code i had written. why the fuck do i even bother?
oh right, to quote jj: "yeah, but it's generic".
good for it. it can be as generic as it fucking wants to be, but i'm still going to write a god damned for loop to calculate what i should be getting from std::distance, because 9 times out of ten, i will spend more time figuring out why the STL approved "right way" of doing things won't fucking compile than it takes to just write the damn for loop.