Used macros for the functions of various types.