NULL is OK, both for passing and for returning.
Generics and defining elements of containers and arrays.
The callback is valid until first called.
Free data after the code is done.