title: Merge implemented as flatMap
body: <p>Theoretically it should be possible to implement any RxJS operator (except <code>just()</code> and <code>flatMap()</code>) through <code>flatMap()</code>. For instance <code>map()</code> can be implemented as</p>
  
  <pre><code>function map(source, selector) {
    return source.flatMap(x =&gt; Rx.Observable.just(selector(x)));
  }
  </code></pre>
  
  <p>How to implement <code>merge()</code> through <code>flatMap()</code>? (avoiding <code>mergeAll()</code> too, of course)</p>