Deep reset function for dynamic class instances.
Deep reset function for dynamic arrays. To reset a dynamic array set the length to 0.
Deep reset function for static arrays. To reset a static array go through the whole array and set the items to the init values for the type of the array.
Deep reset function for structs.
Template to determine the correct DeepReset function to call dependent on the type given.
Utility to recursively reset fields of struct to their .init value while preserving array pointers (their length is set to 0 but memory is kept available for further reusage)