Also note this :
>> f2: func [/local a] [a: "local" print a do "print a"]
local
global
{{
Generally, the use of do for evaluating strings is not a good
practice. It is much slower to process than evaluating blocks,
and the context of words in a string is unknown.
}}
It may mean that the context is not known when you create the string
and may change before you evaluate the string.
Maybe it should say the "binding" of words in a string is not known.
We know the context will be global, but we don't know what is (or will
be) in the global context.
-Ted.