Allow C function that return function pointers and nilable function pointers.
Nilable pointer type, and some fixes with nilable fun type