ResilienceStrategy<TResult>
This base strategy class is used to simplify the implementation of generic (reactive)
            strategies by limiting the number of generic types the execute method receives.
            
                using System;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
namespace Polly
{
    public abstract class ResilienceStrategy<[System.Runtime.CompilerServices.Nullable(2)] TResult>
    {
        [System.Runtime.CompilerServices.NullableContext(1)]
        [return: System.Runtime.CompilerServices.Nullable(new byte[] {
            0,
            0,
            1
        })]
        protected internal abstract ValueTask<Outcome<TResult>> ExecuteCore<[System.Runtime.CompilerServices.Nullable(2)] TState>([System.Runtime.CompilerServices.Nullable(new byte[] {
            1,
            1,
            1,
            0,
            0,
            1
        })] Func<ResilienceContext, TState, ValueTask<Outcome<TResult>>> callback, ResilienceContext context, TState state);
    }
}