change functional macro apply order (same as appear order) because current implementation of state.apply does not handle functional macro which contains concatenatoion correctly.