whole_func_string: function now() {
  		if (arguments.length) {
  			enqueue.apply(
  				null,
  				Array.prototype.map.call(arguments, (item) => {
  					if (!instance(item, Function)) {
  						throw new TypeError('pass functions to now()');
  					}
  
  					return item;
  				})
  			);
  		} else {
  			const queue = now.queue;
  			now.queue = [];
  
  			return queue.reduce(
  				(chain, item) => chain.then(item),
  				Promise.resolve()
  			);
  		}
  	}
func_code_string: function now() {
  		if (arguments.length) {
  			enqueue.apply(
  				null,
  				Array.prototype.map.call(arguments, (item) => {
  					if (!instance(item, Function)) {
  						throw new TypeError('pass functions to now()');
  					}
  
  					return item;
  				})
  			);
  		} else {
  			const queue = now.queue;
  			now.queue = [];
  
  			return queue.reduce(
  				(chain, item) => chain.then(item),
  				Promise.resolve()
  			);
  		}
  	}
func_documentation_string: Executes queue.
  @method now
  @returns {Promise}
  @example
  it('types name into field', () => {
  click('Name');
  type('John Doe');
  
  return now();
  });
  @example
  it('works with async callbacks', (done) => {
  click('Name');
  type('John Doe');
  
  now().then(done, done.fail);
  });
  @example
  it('works with async functions', async () => {
  click('Name');
  type('John Doe');
  
  await now();
  });
   
  Adds function(s) to execution queue.
  @method now
  @param {...Function} functions Functions to add.
  @throws {TypeError}
  @example
  it('chooses behavior', () => {
  now(
  () => now.text('Welcome back')
  .then(
  () => now.click('Log in'),
  () => now.click('Sign up')
  )
  );
  
  return now();
  });