The variables in WME are actually hash tables. By using just numbers as the hash codes, you get a simple list (array). And if you assign a value an another variable, you'll get a tree (i.e. technically speaking, one hash table member references an another hash table).
The only problem is, that the scripting language doesn't allow nested member references, like
MyVariable.MyProperty.AnotherProperty.YetAnotherNestedProperty = 10; // this doesn't work :-(
But maybe Santa's gonna do something about it, when the right time comes...