docs: function queueLauncherKey(asKey, subprocess) {
    return function processTarget(targets) {
      return Object
        .keys(targets)
        .map(function (targetName) {
          return subprocess(targets[targetName])
            .map(function (launcher) {
              launcher[asKey] = targetName;
              return launcher;
            });
        })
        .reduce(function (a, b) {
          // flatten
          return a.concat(b);
        }, []);
    };
  }