code: function getAll(name, deploy, fn, single) {
    getTree(name, deploy, function(err, tree) {
      if (err) return fn(err);
      var acc = [];
      flatten(tree, acc);
      if (acc.length === 0) return fn(null);
      if (single && acc.length === 1) return fn(null, acc[0]);
      fn(err, acc);
    });
  }
docs: concats have to go all the way down the chain overrides work backwards and stop at first definition