pub unsafe extern "C" fn mrb_protect(
    mrb: *mut mrb_state,
    body: mrb_func_t,
    data: mrb_value,
    state: *mut mrb_bool
) -> mrb_value