extract for-all macro to its own module
introduce #export