Is running the package() functions required? I realise it is semantically correct, but isn't the typical use case for the -R flag simply to change metadata? In that case only the variables defined in the package() functions have to be read. I'm not familiar with the implementation so there might be a problem there.