Make evaluation a little more functional