fixed issues where evalPred and the Var functions did not properly thread randomness, leading to multiple consumption of the same Int