add with-output macro to capture expression output