made deep_evaluate handle moves and unmoves