OK, async je v tomto případě zbytečné.
Generikum potřebuju, protože každé API, což jsem zapoměl napsat, že jich máme víc a každý s vlastním odvozeným requestem, vrací pokaždé jinou response.
Mám to jako zjednodušený příklad takto:
public class MultipleRequest
    {
        public MultipleRequest(int take, int skip)
        {
            Take = take;
            Skip = skip;
        }
        public int Take { get; set; }
        public int Skip { get; set; }
    }
    public class SearchByNameRequest : MultipleRequest
    {
        public SearchByNameRequest(string name, int take = 50, int skip = 0)
            : base(take, skip)
        {
            Name = name;
        }
        public string Name { get; set; }
    }
    public class PaginationHelper<TR>
    {
        public delegate Task<TR> SearchMethodDelegate(MultipleRequest multipleRequest);
        public static async Task<TR> GetResultFromSearchAsync(SearchMethodDelegate task, Func<TR,bool> checker, int paging = 50)
        {
            int take = paging;
            int skip = 0;
            TR getterValue;
            do
            {
                var parameterInfo = task.Method.GetParameters()[0];
                var properties = parameterInfo.ParameterType.GetProperties();
                // zmena take v requestu
                // zmena skip v requestu
                getterValue = await task.Invoke(??????????????);
                skip += take;
            } while (!checker.Invoke(getterValue));
            return getterValue;
        }
    }
Volám to takhle:
        public async Task Run()
        {
            await PaginationHelper<string>.GetResultFromSearchAsync(
                async (r) => await SearchMethod(new SearchByNameRequest("Bill Clinton")),
                res => res != null,
                50);
        }
        public async Task<string> SearchMethod(SearchByNameRequest multipleRequest)
        {
            return "Bill Clinton";
        }
Tzn. v instanci toho delegátu už instance requestu je, jen nevím, v místě, kde jsou otazníky, jak ji dosadit.