docs: function(ms,timeoutMsg)
  				{
  					timeoutMsg = timeoutMsg || "Timeout"
  					var me = this;
  					return new Zousan(function(resolve,reject) {
  
  							setTimeout(function() {
  									reject(Error(timeoutMsg));	// This will fail silently if promise already resolved or rejected
  								}, ms);
  
  							me.then(function(v) { resolve(v) },		// This will fail silently if promise already timed out
  									function(er) { reject(er) });		// This will fail silently if promise already timed out
  
  						})
  				}