Refactor to make ApplyMacroExpr to extend TypeApplyMacroExpr, and use RHS notation when method name is ends with : instead of starts with :.