New algorithms: step, chop, generic for_each