must re evaluate expression returned from Block in case variables have changed