No, a function would likely be preferable, since it only has to compile once and then can be used over and over again, whereas for each time a macro is used, it must compile ALL the nodes it contains over again. But… macros can contain latent nodes (such as timelines and delays) and functions cannot.