title: RxJS reduce logs as array, but erroring as object
body: <p>I'm trying to get my head around Reactive programming and observables, unsuccessfully of course. I have the following code:</p>
  
  <pre><code>this.searchSubscription = this.filtersSubject
    .takeLast(2)
    .reduce((acc, cur) =&gt; {
      console.log(acc);
      acc.push(cur);
      return acc;
    }, [])
    .debounceTime(1000)
    .subscribe(x =&gt; this.emitFilters());
  </code></pre>
  
  <p>I wanted to use <code>takeLast(2)</code> piped to <code>reduce</code> so I could turn it into an array of two values, and the filter is certain values between the two were different. I've been going over the docs for <code>reduce</code>, even passing a seed, but VS Code tells me that <code>Property 'push' does not exist on type 'Object'.</code> but the <code>console.log</code> shows <code>acc</code> to be an array. I'm baffled at what's going on and how to fix it. And of course, I may be tackling this problem entirely wrong, which is making observables hard enough to understand.</p>