pub unsafe fn fold_to_result<T, E, T2, E2>( ok: *mut T, error: *mut E, key_converter: impl Fn(*mut T) -> T2, value_converter: impl Fn(*mut E) -> E2, ) -> Result<T2, E2>