docs: function Q_chainmap(args, func) {
      return Q.when().then(function(inValue) {
          return args.reduce(function(soFar, arg) {
              return soFar.then(function(val) {
                  return func(arg, val);
              });
          }, Q(inValue));
      });
  }