The :tag argument is filled in with information from Semantic. The tag in question is queried from the senator tag ring, or passed in from SRecode utilities that use tags in templates.
Use the function part of a macro insert to extract obscure parts
of the tag.
If tag is a function, you will get these additional dictionary entries.
Within the section dictionaries for each argument, you will find both
NAME and TYPE, in addition to the automatic section values
for FIRST, LAST, NOTFIRST, and NOTLAST.
If tag is a variable, you will get these dictionary entries.
If tag is a datatype, you will get these dictionary entries.
Note that data type templates should always have a
macro in it where the core contents of that type will go. This is why
data types don't have subdictionaries full of the slots in the classes