There is no need to put simple values (nil, numbers, booleans,
lightuserdata) in the ref-table because they are pass-by-value in Lua.
This reduces ref-table lookups and allows NaN values to be persisted.
Previously, pluto would attempt to insert a NaN as a key in the
ref-table (inserting NaNs as table keys results in a Lua error).