docs: function flatten(tree, options) {
      var settings = _.defaults(options, {
        childNode: ['children']
      });
  
      settings.childNode = _.castArray(settings.childNode);
      var seekStack = [];
  
      var seekDown = function seekDown(tree) {
        tree.forEach(function (branch) {
          seekStack.push(branch);
          settings.childNode.some(function (key) {
            if (branch[key] && _.isArray(branch[key])) seekDown(branch[key]);
          });
        });
      };
  
      seekDown(_.castArray(tree));
      return seekStack;
    }