Refactorized and added support for @<keyword>(expr){body} -macros