code: func (d *Dataset) Reduce(name string, reducerId gio.ReducerId) (ret *Dataset) {
  
  	name = name + ".Reduce"
  
  	ret = d.LocalReduceBy(name+".LocalReduce", reducerId, nil)
  	if len(d.Shards) > 1 {
  		ret = ret.MergeTo(name, 1).LocalReduceBy(name+".LocalReduce2", reducerId, nil)
  	}
  	return ret
  }
docs: // Reduce runs the reducer registered to the reducerId,
  // combining all rows into one row