effects enhanced to allow arbitrary evaluation (mostly for random values), and referencing globals in the 'variable' field