Like, there's 2 ways a C lib can expect you to interact with a given pointer: 1) YOU are responsible for the memory. In such scenarios these procs must exist, otherwise you can't free them. Because you can't know how to free something somebody else allocated, you can't know which allocator they used etc. 2) Alternatively, you are not responsible for the memory. In that case you don't need to do anything and just pray you're using the pointer correctly