You should use this macro when impementing a built-in function. The implementation of the commands use their own mortal list to collect mortal variables storing intermediate results. Built-in function implementations do NOT maintain their own collection of mortal variables. This macro sets some variables to collect mortal variables into the list of the calling modules.
To get a deeper understanding of mortals and variable handling see the documentation for the source file memory.c