To avoid any confusion it should be noted that the term “macro type” is not intended to differentiate the concepts of “action macro” and “definition macro”, which relate to the function of a macro:
An action macro is a macro that is expected to perform specific actions. The AREC macro, for example, is used to write a user acoounting record (see "AREC - Write user accounting record").
A definition macro is a macro that is expected to supply definitions (addressing aids, DSECTS) rather than to perform actions. The CUPAB macro ("CUPAB - Address operand list (24-bit interface)"), for example, is used to generate symbolic names for the purpose of addressing operand tables.
The type classification of macros relates to the mode of operand transfer. There are R-type macros (operand transfer via registers), S-type macros (operand transfer via storage) and O-type macros (macros not classified under any type).
S-type macros can be either action macros (with operand MF=E) or definition macros (with operand MF=D).