Hi Romano, <<Romano>> (...) An unset word is a word with the value unset. It is like any other value and any other word. If you use it where a function ask a value, Rebol triggers an error. But Rebol triggers the same error if you pass an argument of type integer! where a function ask for a value of type unset:
>> x: func [a [unset!]][value? 'a] >> do [x ()] == false >> do [x 1] ** Script Error: x expected a argument of type: unset ** Near: x 1 BTW, I think that the name of function value? is confusing. It should be something like: not-unset-value? And also unset is confusing, because you can set a word at the unset value: >> set/any 'a () >> value? 'a == false my conclusion: unset <> no value (...) <</Romano>> yes! Another example: (block: reduce [()]). BLOCK will not be empty. Will it "contain" a value? -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.