The function in your snippet takes its first argument “by value”.
That means the parameter myList gets constructed from the first argument that the caller passes to the function and gets destructed at the end of the function. No modification of myList is visible from the outside or does affect the argument of the caller.
Instead, the function should take its first argument “by reference”. Then the parameter myList is a reference to the argument of the caller, modifying the parameter inside the function will modify the argument of the caller.
Thanks @siebenschlaefer, your suggestion solved the problem.
Actually, I was biased by the fact that in the Instruction it seems that two strings are accepted as arguments, not a reference to a string and a string, as specified in Task 5.
If a function return type is void, typically its calculation can only affect your program as a side effect. It usually means that the function modifies a variable passed as a reference, as a pointer, or otherwise visible to the function and modifiable by it, although not local to it.
The exercise is very new, so it might be a bit rough.
If you have any suggestions on better wording that would help students (without outright telling them the solution), we are all ears.