Don't let destructive loc change
leak out to callers.
Also, use the return from update_item rather than assume
it was just side effecting.
LMS-11361