Apparently snaplogic makes no real distinction in the logic(within their software) itself. The values are merely passed as an object containing objects and, if they are flat, can be treated as CSV, etc… You CAN create arrays and the like, within a script object, and move them as if they were a normal variable. Snaplogic will handle everything at the lower levels. At least it does with python, but I am sure it works that way with other languages, etc… in snaplogic. If you do that, and treat it within the snaplogic designer GUI as if it is a normal value, you get the quoting that you mention. If you have an OBJECT that contains other objects, that can be arrays that contain arrays, etc… It will handle it in a way similar to any tool made to handle such things.
BTW DON’T bother making the output variable in your script different. You don’t have to name it differently, use punctuation, etc… It will just KNOW, based on how the variable is defined in your script And if you pull the value into an appropriately defined field in your script, and modify it, you can pass the changed value out, as if you had done nothing with it… Any parts that came in, under that variable, that you never changed, will go out unchanged.