NULL is OK, both for passing and for returning.
Generics and defining elements of containers and arrays.
The caller owns the data, and is responsible for free it.