pub unsafe extern "C" fn sk_deep_copy(
    sk: *const _STACK,
    call_copy_func: Option<unsafe extern "C" fn(arg1: stack_copy_func, arg2: *mut c_void) -> *mut c_void>,
    copy_func: stack_copy_func,
    call_free_func: Option<unsafe extern "C" fn(arg1: stack_free_func, arg2: *mut c_void)>,
    free_func: stack_free_func
) -> *mut _STACK