private Bounce <(int numberExecuted, int frameCount)> TrampolineRecursive(int numberOfRecursions, int numberExecuted = 0)
        {
            var stackTrace = new StackTrace();

            numberExecuted++;

            if (numberExecuted == numberOfRecursions)
            {
                return(Trampoline.Result((numberExecuted, stackTrace.FrameCount)));
            }
            else
            {
                return(Trampoline.Bounce(() => TrampolineRecursive(numberOfRecursions, numberExecuted)));
            }
        }