it's injected by the Chapel compiler into every program rather than only being available through the CPtr module
it doesn't permit calls to made to such function pointers from within Chapel code
it doesn't have a means to specify argument types or return types (which is probably one of the reasons for the previous bullet)
I believe that these weaknesses are reasons that it is currently only documented in a technical note and not in the language specification / libraries. We should address these, and consider c_fn_ptr unstable until such time as we do.