pub type VariableItemChangeCallback = Option<unsafe extern "C" fn(item: *mut VariableItem)>;