public static async IAsyncEnumerable <User> GetUsers(this IUsersClient usersClient, Pagination?pagination         = null,
                                                             [EnumeratorCancellation] CancellationToken cancellationToken = default)
        {
            pagination ??= Pagination.Default;
            var fetchPage = new Func <Pagination, Task <IPagedResponse <User> > >(async p =>
            {
                var page = await usersClient.GetUsersAsync(p?.Limit, p?.Before, p?.After, cancellationToken);
                return(page.Result);
            });

            await foreach (var user in pagination.EnumerateAsynchronously(fetchPage)
                           .WithCancellation(cancellationToken))
            {
                yield return(user);
            }
        }