code: function asyncMax() {
      var args = argsToArray(arguments), last = args.pop(), cmp = null;
      if (isFunction(last) || isString(last)) {
          cmp = last;
      } else {
          args.push(last);
      }
      return when.apply(null, args).chain(function (result) {
          return max.call(array, normalizeResult(result), cmp);
      });
  }
docs: Async version of {@link comb.array.max}.
  
  ```
  function asyncArr(){
  var ret = new comb.Promise();
  process.nextTick(ret.callback.bind(ret, [1,2,3,4,5]);
  return ret.promise;
  }
  
  comb.async.array(asyncArr()).max().then(function(max){
  console.log(max); //5
  })
  
  comb.async.max(asyncArr()).then(function(max){
  console.log(max); //5
  })
  
  ```
  
  @static
  @memberof comb.async
  @name max