[Int] append([Int] xs, [Int] ys) { if (xs.nil) { return ys; } else { return xs.hd : append(xs.tl, ys); } } [Int] main() { return append([1,2,3], [4,5,6]); }