The header file arf.h declares
ARF_INLINE void
arf_mul_2exp_si(arf_t y, const arf_t x, slong e)
I therefore do not understand by the second argument of arb_sys::arf::arf_mul_2exp_si is mutable:
pub unsafe extern "C" fn arf_mul_2exp_si(
y: *mut arf_struct,
x: *mut arf_struct,
e: mp_limb_signed_t
)