Old post, but new-old thoughts.
For a name other than "Scrunch" I've decided in relationship to a Dialect Object Model it should simply be an element-node of type Sequence.
Used as a variable set-word, the array-obj!() uses the sequence as a set-builder notation.
Its base form is serialized data thats represented in Rebol as molded data.
Its grouping order is {[()]}, but not necessarily followed in dialects. And in Rebol there is no difference in using "{}" or "[]", unless your sending, receiving, or loading data. It must be serialized.
I chose the "{}" because it allows you to manipulate dialect data in block form while not allowed to be of type! block.
This i believe is some of the differences between a Rebol Series and a Sequence.
Rebol sequence type is its molded data form. But it should have been a native type from the beginning.
The %Rebol-Dom.r set-builder notation, the Var., like Uparse allows me to set, search, parse, save, serialize, and share data maybe slower than BLOCKS, but as it was intended to be used. Any way i like. I wish i had your know how Hostilefork to do this right but i just don't have the time. Oh well, Rebol-Dom. Sorry, bout that, i meant Rebol On.