code: function toCallback(cbo, reserve) {
  	if (!cbo[0] && !cbo[2]) return cbo[1];
  	
  	if( typeof(reserve) === "undefined" ) {
  		return function () {
  			_call(cbo, arguments.length?Array.prototype.slice.call(arguments):null, true);
  		}
  	}
  
  	if( !reserve ) {
  		return function () {
  			_call(cbo);
  		}
  	}
  
  	return function () {
  		var arg= Array.prototype.slice.call(arguments,0,reserve);
  		if( arg.length<reserve ) arg= arg.concat(new Array(reserve-arg.length));
  		_call(cbo, arg, true);
  	}
  }
docs: Create a normal callback function
  @function toCallback
  
  @param {cbo} cbo - A cbo object
  @param {number} [reserve] - The count of reserved original prefix arguments
  
  @returns A normal callback function
  
  @example
  function f(a1,a2,a3,a4){
  console.log([a1,a2,a3,a4]);
  }
  
  var cboTest= [null,f,['aa']];
  var cb1= cbo.toCallback(cboTest);
  cb1();	//aa
  cb1('bb');	//bb,aa
  cb1('bb','cc')	//bb,cc,aa
  var cb2= cbo.toCallback(cboTest,0);
  cb2();	//aa
  cb2('bb');	//aa
  var cb3= cbo.toCallback(cboTest,1);
  cb3();	//undefined,aa
  cb3('bb');	//bb,aa
  cb3('bb','cc');	//bb,aa