builtin/item.lua: callbacks with copies of positions and nodes rather than recycle the same ones, which callbacks can modify