Well, except this:
for (const Rlist *rp = rval_b.item; ...)
but no matter