Consider the following function
fun merge (nil, ys) = ys
| merge (xs, nil) = xs
| merge (x :: xs, y :: ys) =
if (x < y) then x :: merge (xs, y :: ys)
else y :: merge(x :: xs, ys);
What is the result for the following statement:
merge ([1, 2, 3], [4, 5, 6]);
a. val it = [1, 4, 2, 5, 3, 6 ] : int list
b. val it = [1, 2, 3, 4, 5, 6] : int list
c. val it = [1, 2, 3, 4, 5, 6] : list
d. val it = [1, 3, 5, 2, 4, 6] : int list