так они ! ввели, чтобы макрос отличать, так как именно этого и не сделали
Ну так он и говорит, что по идентификатору отличат — найдут соответствующий и по его описанию узнают шаблон это, функция, шаблонная функция или макрос. Вообще конечно они этот знак ещё и для наглядности кода ввели, а так будет путаница