If we can inline all the enumerator methods then we can stack allocate the enumerator. See https://github.com/dotnet/runtime/pull/111799#issuecomment-2921011412 for one example. * for non-empty `List<T>` we may fail to inline `MoveNextRare` as it may not get called by instrumented methods. * for empty collections we may fail to inline `get_Current` as it never gets called