TResult puede ser un BsonDocument o una clase específica que represente el resultado del tipo de artículo reducido.
Creo que para tu ejemplo, podrías tener una clase genérica como esta:
public class SimpleReduceResult<T>
{
public string Id { get; set; }
public T value { get; set; }
}
Y su declaración de opciones sería
var options = new MapReduceOptions<BsonDocument, SimpleReduceResult<int>>();