TResult może być BsonDocument lub konkretną klasą, która reprezentuje wynik typu zmniejszenie elementu.
Myślę, że dla twojego przykładu możesz mieć taką ogólną klasę:
public class SimpleReduceResult<T>
{
public string Id { get; set; }
public T value { get; set; }
}
A twoja deklaracja opcji byłaby
var options = new MapReduceOptions<BsonDocument, SimpleReduceResult<int>>();