docs: function checkChain(value, chain, baton, callback) {
    var funs = chain.validators.map(function(i) {
      return i.func;
    });
  
    function _reduce(memo, validator, callback) {
      validator(memo, baton, function(err, result) {
        var message;
        if (err) {
          if (err.hasOwnProperty(message)) {
            message = err.message;
          } else {
            message = err;
          }
          callback(message);
        } else {
          callback(null, result);
        }
      });
    }
  
    async.reduce(funs, value, _reduce, callback);
  }