with-promise resolve is now a macrolet that, if handed multiple values, will finish the promise with those values. however, if it is handed a single value, it will finish the promise the the *values* of the evalutated first arg. ie (resolve 1 2 3) and (resolve (values 1 2 3)) result in the *smae promise*