TResult peut être un BsonDocument ou une classe spécifique qui représente le résultat d'un élément de type reduce.
Je pense que pour votre exemple, vous pourriez avoir une classe générique comme celle-ci :
public class SimpleReduceResult<T>
{
public string Id { get; set; }
public T value { get; set; }
}
Et votre déclaration d'options serait
var options = new MapReduceOptions<BsonDocument, SimpleReduceResult<int>>();