I was looking at old debugger list postings on "accelerated stepping".
The general problem of how to make stepping feel right is a well trodden topic. So let me describe how the trepanning debuggers such as Devel::Trepan partially address this. The idea builds on something Kent Sibilev added to ruby-debug, and as far as I know he was the first to do this. There is a setting called "set different" in ruby-debug (originally called "set force") which can be "on" or "off". When "on" the setting causes "next" and "step" commands to stop at a different line numbers for a given frame. The stack frame is used because one wants to treat recursive calls as "different". In the trepanning debuggers, I added "+" and "-" suffixes to the "step" and "next" commands which over-ride the default setting.