function nestDeep(keysArray, rollupFunction) {
var keyedNest = keysArray.reduce(function(nestFunction, key) {
return nestFunction.key(function(d) {
return d[key];
});
}, d3collection.nest());
return rollupFunction
? keyedNest.rollup(rollupFunction).object
: keyedNest.object;
}