fixing a bug where the second argument to set-symbol! is evaluated twice