move closure form computation into earlier macroexpansion