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