Allow nilable pointer/fun in C with a typedef