code: function cloneDeep(node) {
    var newNode = {};
  
    for (var key in node) {
      if (key[0] === "_") continue;
  
      var val = node[key];
  
      if (val) {
        if (val.type) {
          val = t.cloneDeep(val);
        } else if (Array.isArray(val)) {
          val = val.map(t.cloneDeep);
        }
      }
  
      newNode[key] = val;
    }
  
    return newNode;
  }
docs: Create a deep clone of a `node` and all of it's child nodes
  exluding `_private` properties.