In reply to nhp:
nhp, the code is illegal as you cannot assign in numerical value to an enumerated variable.
$monitor only prints once at the end of a time slot when the call is made, and then once at the end of each time slot when an argument changes. So you need more than a zero delay between the first two assignments.