public static IAsyncEnumerable <TResult> Except <TKey, TResult>([NotNull] this IFdbReadOnlyTransaction trans, [NotNull] IEnumerable <KeyRange> ranges, [NotNull] Func <KeyValuePair <Slice, Slice>, TKey> keySelector, [NotNull] Func <KeyValuePair <Slice, Slice>, TResult> resultSelector, IComparer <TKey> keyComparer = null) { Contract.NotNull(ranges, nameof(ranges)); return(Except <TKey, TResult>(trans, ranges.Select(r => KeySelectorPair.Create(r)), keySelector, resultSelector, keyComparer)); }