pub type ITypeFactory = *mut c_void;