Can anyone explain how include statements in extensions_additional.conf are used?

I was looking through extensions_additional.conf and discovered there are mamy places where there are “include” statements that theoretically should allow inserting bits of custom code in extensions_custom.conf, except they don’t seem to work. Here’s an example:

include => app-blacklist-check-custom
exten => s,1(check),GotoIf($["${BLACKLIST()}"=“1”]?blacklisted)
exten => s,n,Set(CALLED_BLACKLIST=1)
exten => s,n,Return()
exten => s,n(blacklisted),Answer
exten => s,n,Wait(1)
exten => s,n,Zapateller()
exten => s,n,Playback(ss-noservice)
exten => s,n,Hangup

Note the “include => app-blacklist-check-custom” near the top of this context. The problem is, you can put something like this in extensions_custom.conf and it will never be executed:

exten => s,1,NoOp(APP-BLACKLIST-CHECK-CUSTOM: CallerID Number is ${CALLERID(num)} - CallerID Name is ${CALLERID(name)})

I believe this is because when app-blacklist-check is called, it is called like this:

exten => s,n,Gosub(app-blacklist-check,s,1)

Since this specifies a specific line number (1) rather than simply going to the top of the context, which may not even be possible in a Gosub, I’m guessing that the include line is skipped. If that’s the case, why is that include line even there in the first place?

It was a nice thought to give us all those hooks so we could put in bits of custom code without having to resort to copying entire contexts into extension_override_freepbx.conf, which I surmise is something that should be avoided if at all possible, but if those hooks are never executed then I’m questioning what is the point? I do wish those hooks actually worked (especially the one for app-blacklist-check-custom, because I want to test for certain Caller ID NAMES and give them the works), but I just don’t see how to make them work. And I see similar includes all over extensions_additional.conf, and my question is, are they mostly all ineffective, or am I just missing something here? I’d be very happy if someone would explain how it’s just me screwing up and that there is actually a way to make use of these!