I can create a Data Element of type javascript variable, or custom code, that references/returns an array. However, Launch (and DTM) doesn't have any functionality baked in to take advantage of this. Instead, it ultimately expects a string value returned (and type casts the value to string when parsing %data_element% syntax references to enforce it).
Meanwhile, you have for example Adobe Analytics hier variable, which would benefit from being able to reference an array. As of right now you just provide 4 fields and i can reference 4 separate data elements (or hardcode 4 separate values). But in practice, I can have more than 4 levels in a hier variable.
I think it should be a pretty easy update to the Launch interface to just have the hier[n] variables be a single field to reference a data element that returns an array, and a field to specify a delimiter (already implemented), and then under the hood, check if the returned data element value is an array and then join by delimiter and call it a day.
This same concept can also then be applied to adding list[n] variables in the AA extension, and also for list prop syntax, and also for.. well, any field, really. Maybe put a little checkbox next to it to flag to expect an array and then make the delimiter field appear if you check it.
Seems like an easy win to me?
.josh