pub unsafe trait ToVoid<T> { fn to_void(&self) -> *const c_void; }
A trait describing how to convert from the stored *const c_void to the desired T