Move some of the 'dwim' logic out of the IS macro and into a helper function; Pass...