I meant having something like:
if (check_cfunc(ci->me, rb_obj_equal)) { return rb_obj_equal(recv, obj); }
and trusting the compiler to inline rb_obj_equal (or using inline), although I reckon you don't probably want rb_obj_equal to always be inlined.