Move requires macro to type_functions.h to enable intrinsics.h to use the construction/destruction traits