let fold_right f ({ ar = ar } as ra) accu =
    let res = ref accu in
    for i = ra.vlix downto 0 do
      res := f (Impl.unsafe_get ar i) !res
    done;
    !res