Refactor making macro definition (close gh-42).