Finally getting rid of eval for set/set-default