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))); } }