Rewritten NotMacroExpression in MacroExpression.scala.
Refactored AssertionsMacro.scala to reduce code duplication.