docs: function Q_chainmap_graceful(args, func, failureCallback) {
      return Q.when().then(function(inValue) {
          return args.reduce(function(soFar, arg) {
              return soFar.then(function(val) {
                  return func(arg, val);
              }).fail(function(err) {
                  if (failureCallback) {
                      failureCallback(err);
                  }
              });
          }, Q(inValue));
      });
  }