Hello, using $eval($identifier) is the same as evaluating it one time, which is the normal thing to do with normal command, such as echo.
//echo -sg $date == $eval($date) $!date == $eval($!date)
Using $eval() without parameter or with 1 evaluation is just redudant.
Now in timer, using the $!ident format is actually correct:
//.timertest 3 1 echo -sg $!time
will display a different time every time, not sure what you did.