code: function concat() {
  	    var observables = [];
  	    for (var _i = 0; _i < arguments.length; _i++) {
  	        observables[_i - 0] = arguments[_i];
  	    }
  	    return concatStatic.apply(void 0, [this].concat(observables));
  	}
docs: Creates an output Observable which sequentially emits all values from every
  given input Observable after the current Observable.
  
  <span class="informal">Concatenates multiple Observables together by
  sequentially emitting their values, one Observable after the other.</span>
  
  <img src="./img/concat.png" width="100%">
  
  Joins this Observable with multiple other Observables by subscribing to them
  one at a time, starting with the source, and merging their results into the
  output Observable. Will wait for each Observable to complete before moving
  on to the next.
  
  @example <caption>Concatenate a timer counting from 0 to 3 with a synchronous sequence from 1 to 10</caption>
  var timer = Rx.Observable.interval(1000).take(4);
  var sequence = Rx.Observable.range(1, 10);
  var result = timer.concat(sequence);
  result.subscribe(x => console.log(x));
  
  @example <caption>Concatenate 3 Observables</caption>
  var timer1 = Rx.Observable.interval(1000).take(10);
  var timer2 = Rx.Observable.interval(2000).take(6);
  var timer3 = Rx.Observable.interval(500).take(10);
  var result = timer1.concat(timer2, timer3);
  result.subscribe(x => console.log(x));
  
  @see {@link concatAll}
  @see {@link concatMap}
  @see {@link concatMapTo}
  
  @param {Observable} other An input Observable to concatenate after the source
  Observable. More than one input Observables may be given as argument.
  @param {Scheduler} [scheduler=null] An optional Scheduler to schedule each
  Observable subscription on.
  @return {Observable} All values of each passed Observable merged into a
  single Observable, in order, in serial fashion.
  @method concat
  @owner Observable