The join will treat b as a single item and that's why the result is a nested tuple. You have to convert a and b to vectors, join them and then convert back to tuple.
a = (1,2,3) b = (4,5,6)
re = tuple(join(vector(a), vector(b)))