index.js
function deepChild(root, path) {
  return path.reduce(function (node, index, x) {
    assert(index in node.children, 'child does not exist at the given deep index ' + path.join('.'));
    return node.children[index];
  }, root);
}
function deepChild(root, path) {
  return path.reduce(function (node, index, x) {
    assert(index in node.children, 'child does not exist at the given deep index ' + path.join('.'));
    return node.children[index];
  }, root);
}
function deepChild ( root , path ) { return path . reduce ( function ( node , index , x ) { assert ( index in node . children , 'child does not exist at the given deep index ' + path . join ( '.' ) ) ; return node . children [ index ] ; } , root ) ; }
Retrieve a deep child via an input array `index` of indices to traverse.

@param {Object} node  The virtual node to traverse.
@param {Array:Number} path  The path to traverse.
@return {Object}
Retrieve a deep child via an input array index of indices to traverse .