以下のコードの出力なんですが、

var source = Rx.Observable
.range(1, 3)
.flatMap(function (v) {
    return Rx.Observable.range(1, 3);
})
.subscribe(function (v) {
    console.log(v)
});

下記になります。

1
2
1
3
2
1
3
2
3

ところが、私がイメージしていた結果は

1
2
3
1
2
3
1
2
3

公式のドキュメントを見てもさっぱり分からないです。

なぜそうなるのか、何方か説明して頂けませんか? ありがとうございます!