NULL is OK, both for passing and for returning.
Generics and defining elements of containers and arrays.
Out parameter, where caller must allocate storage.
Free data container after the code is done.
Free data after the code is done.