int[] a, b;
auto ab = chain(a, b);
int[] a, b;
auto ab = a ~ b;
auto ab = a;
ab.insert (ab.end (), b.begin (), b.end ());
var list1 = new List<int>(){1,2,3};
var list2 = new List<int>(){4,5,6};
var list3 = list1.Concat(list2);
real, dimension(:), allocatable :: ab
ab = [a, b]
var ab []T
ab = append(append(ab, a...), b...)
ab := make([]T, len(a)+len(b))
copy(ab, a)
copy(ab[len(a):], b)
List<?> ab = new ArrayList<>(a) {{ addAll(b); }};
var ab = new ArrayList<>(a);
ab.addAll(b);
ab = {}
table.foreach(a, function(k, v) table.insert(ab, v) end)
table.foreach(b, function(k, v) table.insert(ab, v) end)
ab = {}
table.move(a, 1, #a, 1, ab)
table.move(b, 1, #b, #ab + 1, ab)
NSArray *ab=[a arrayByAddingObjectsFromArray:b];
$ab = array_merge($a, $b);
var
a,b,ab: TList;
...
ab := TList.Create;
ab.Assign(a);
ab.AddList(b);
...
let ab = [a, b].concat();