pub type ProtocolAlloc = Option<unsafe extern "C" fn() -> *mut c_void>;
enum ProtocolAlloc { None, Some(unsafe extern "C" fn() -> *mut c_void), }
No value.
Some value of type T.
T