const paranoia
replace find_if_and_run with range version
use boost::irange instead of counting_iterator
no-copies paranoia
code reformat