Hello @kartik,
Merge will update the index with the current value of the merging list. So in your case you had
[0] = 1
and merged it with
[0] = 2
[1] = 3
which ended up overwriting [0]=1 with [0]=2, and then set [1]=3 resulting in your observed [2,3] array after merging.
A very simple approach to solving this would be to use concat
var a = Immutable.List([1]);
var b = Immutable.List([2,3]);
var c = a.concat(b);
And it will work for this situation. However, if the situation is more complex, this may be incorrect. For example,
var a = Immutable.List([1,4]);
var b = Immutable.List([2,3,4]);