Consider the example below where a macro checks if on a given date, the result of the [fo] and [fu] tokens are the same (note that the reference to each holidays list is made on a separate line) :
sOholidays = EvalToken(n_TokenDate, '[fo]')
sUholidays = EvalToken(n_TokenDate, '[fu]')
bRESULT = (sOholidays == sUholidays)
If there are no tokens in the GridTemplate which refer to o-holidays and u-holidays then Q++ will not know that you need to specify o-holidays and u-holidays and will not be able to issue a message warning you that you have not defined them. By using the INCLUDE_HOLIDAYS_LIST directive above, you are telling Q++ that this macro will always require o-holidays and u-holidays, and therefore Q++ will be able to warn any user in that uses this macro.
The above example was one where the reference to a Holidays List was explicit (the above macro always uses o-holidays and u-holidays). There are cases where the holidays list used cannot be determined from the macro itself, because the holidays list used is one of the input variables of the macro.
bRESULT = HolidayOfListOnDate(sHolList, n_TokenDate)