docs: function chain() {
  	let arg = Array.from(arguments),
  		pipe = arg.length > 0 ? arg.shift() : stream => stream;
  
  	return function() {
  		let writer = through.obj();
  
  		return duplexer(
  			{objectMode: true},
  			writer,
  			pipe.apply(null, [writer].concat(merge(arguments, arg)))
  		);
  	};
  }