This is neat. Looking through it, looks like it makes regular numeric arrays faster as well via the flags.
I wonder if the ->pDataPtr vs ->pData confusion has been resolved.
I'm probably a few years behind, but a lot of my confusion working with hashes has been that pair of void* pointers.