title: Observable subscribe not fired
body: <p>I have the following snippet:</p>
  
  <pre><code>static groupAlphabetically&lt;T&gt;(observable:Observable&lt;T[]&gt;): Observable&lt;AlphabeticalGroup&lt;T&gt;[]&gt;{
  return (observable.pipe(
    switchMap(data =&gt; data as T[]), 
    reduce((r, e:T) =&gt; {
      let group = e["name"][0] as string;
      var currentGroup = r.filter(x =&gt; x.letter == group)[0];
      if(!currentGroup) 
      {
        currentGroup = new AlphabeticalGroup&lt;T&gt;();
        currentGroup.letter = group;
        r.push(currentGroup);
      }
  
      currentGroup.items.push(e);
      return r;
    }, new Array&lt;AlphabeticalGroup&lt;T&gt;&gt;())
    ));
  }
  </code></pre>
  
  <p>For some reason, this piped observable never finishes. 
  What am I doing wrong?
  When debugging, I can step onto the return r statement, but subscribing never works:</p>
  
  <pre><code>subscribe(x =&gt; {
  // this code is never reached
  })
  </code></pre>