How does REBOL evaluation work?
Evaluation is left to right, though application is right to left. If you have: word1 word2 word3 Word1 is evaluated, then word2, then word3. However, if word1 is a function with one argument then word2 is evaluated before it is passed to word1. Similarly with word2 to word3. If word1 is a function that takes two arguments then word2 and word3 must both be sequentially evaluated, but in this case from right to left before being passed into word1. Thus application is right to left. If instead you have: do word1 word2 word3 and word1 creates and returns a function that takes two arguments, word2 and word3 will be evaluated before being passed into the anonymous function that is returned from word1.