Hi Larry, first comment, I like your version 3 best: >tic3: func [] [toc3: func [] compose/deep [print ["elapsed time:" now/time - >(now/time)]]] This approach really makes good use of REBOL's abilities. While it looks trivial, I think that functions, which create functions, which in turn reflect some state at the time the "dynamic" function was created is an important technique for building smarter programs. In a different application the state embedded in the created function coould very well be more complicated and specific to the creating function then in your case. Imagine a whole chain of function-creating functions. Elan