made enum, function, and function_pointer template types.