> Calling Kernel#caller with a negative limit should limit result to N initial frames.  When using Kernel#caller you often only want the first element of the result to get the information of the immediate caller.  Generating the whole backtrace in this case is wasteful and time-consuming.  Allowing Kernel#caller to take a negative limit to only return the first -N initial stack frames would allow for this.

There are similar proposals.
https://bugs.ruby-lang.org/issues/3917

Maybe there are other proposals. I want to summarize and implement 2.0.
At first, I want to know other alternative proposals.  Please let me know.

-- 
// SASADA Koichi at atdot dot net