title: RxJS toArray not being called
body: <p>I've got an RxJS sequence as follow:<br>
  (control is an Angular <code>FormControl</code>)</p>
  
  <pre><code>control.valueChanges.pipe(
      concatMap(cronExprs =&gt; from(cronExprs as Array&lt;string&gt;)),
      concatMap(cron =&gt; this.invokeCronService(cron)),
      toArray()
  ).subscribe(cronExprs =&gt; this.setCronExpressionModels(cronExprs))
  </code></pre>
  
  <p>Say the cronExprs array has three items <code>['..', '..', '..']</code>. I can see, while debugging, the <code>concatMap(cron =&gt; this.invokeCronService(cron))</code> clojure is called three times, but <code>toArray</code> is never called, and obviously the subscribe clojure is never called too. Seems the sequence does not complete correctly.</p>
  
  <p><code>invokeCronService</code> is:</p>
  
  <pre><code>private readonly invokeCronService =
      (cron: string): Observable&lt;CronExpressionModel&gt; =&gt;
          this.cronService.describeCron(cron).pipe(
              map(result =&gt; result.get()),
              map((description): CronExpressionModel =&gt; ({ cron, description }))
          )
  </code></pre>
  
  <p><code>describeCron</code> is a simple:</p>
  
  <pre><code>public describeCron(cronExpression: string): Observable&lt;Result&lt;string&gt;&gt; {
      return of(Result.valid('', cronExpression))
  }
  </code></pre>
  
  <p>What am I doing wrong?</p>