public static UniTask <Dictionary <TKey, TSource> > ToDictionaryAsync <TSource, TKey>(this IUniTaskAsyncEnumerable <TSource> source, Func <TSource, TKey> keySelector, CancellationToken cancellationToken = default)
        {
            Error.ThrowArgumentNullException(source, nameof(source));
            Error.ThrowArgumentNullException(keySelector, nameof(keySelector));

            return(ToDictionary.ToDictionaryAsync(source, keySelector, EqualityComparer <TKey> .Default, cancellationToken));
        }
        public static UniTask <Dictionary <TKey, TElement> > ToDictionaryAwaitAsync <TSource, TKey, TElement>(this IUniTaskAsyncEnumerable <TSource> source, Func <TSource, UniTask <TKey> > keySelector, Func <TSource, UniTask <TElement> > elementSelector, IEqualityComparer <TKey> comparer, CancellationToken cancellationToken = default)
        {
            Error.ThrowArgumentNullException(source, nameof(source));
            Error.ThrowArgumentNullException(keySelector, nameof(keySelector));
            Error.ThrowArgumentNullException(elementSelector, nameof(elementSelector));
            Error.ThrowArgumentNullException(comparer, nameof(comparer));

            return(ToDictionary.ToDictionaryAwaitAsync(source, keySelector, elementSelector, comparer, cancellationToken));
        }