I'd like to see two methods of controlling evaluation, one for evaluating straight away and not when the timer fires, and one for evaluating when the timer fires and not straight away.

For example:

Code:
; evaluates now - output is "%y" (literal string)
set %y $!me | set %x % $+ y | timertest -i1 1 2 echo -a %x
; evaluates later - outcome is whatever $ticks is at the time the timer fires.
timertest -i2 1 2 echo -a $ticks