Hello,
Yes it's not possible to write array to the global arguments. Only its elements.
To write back you can make simple assignment like Tags.Tag = array. See attached example picture and project.
About user-defined functions. Yes, you can use arrays like an argument. See attached example picture.
Best regards,
Ruslan