Hi Brad,
I'm having trouble understanding what you are trying to do here.
a1: [a: "aaa" b: "bbb"]
Are you trying to assign a to "aaa" and b to "bbb" ?
this is how rebol sees this block
a1: [a: "aaa" b: "bbb"]
== [a: "aaa" b: "bbb"]
>> a1/1
== a:
>> type? a1/1
== set-word!
>> a1/2
== "aaa"
>> type? a1/2
== string!
>> a1/3
== b:
>> type? a1/3
== set-word!
>> a1/4
== "bbb"
>> type? a1/4
== string!
>>
you use reduce to evaluate the block contents like so
a1: reduce [a: "aaa" b: "bbb"]
== ["aaa" "bbb"]
>> b
== "bbb"
find a1 b
== ["bbb"]
>> find a1 "bbb"
== ["bbb"]
The above might illustrate what is happening. Or just confuse you some more
:-)
Cheers,
Allen K