La duda es más general, éste ejercicio es un buen ejemplo.
Se pide definir un parameter concat, que permite concatenar 2 vectores de largo arbitrario.
No me queda claro la utilidad de esto.
Lo que hacemos es ¿una función? que a partir de 2 arreglos crea uno que es la concatenación de los 2, pero no escribimos ninguna regla de computación que reduzca eso a una forma canónica del array (anidando adds, supongamos), que es lo que uno esperaría.