The OpenStruct class stores values in an internal hash
@table. For use
with Marshal, it exposes this table via the method:
def marshal_dump @table end
Seems to me that this exposure should be protected to prevent people
modifying it in place, particularly adding non-symbol keys.
But what is the proper way of doing this? Should the result be frozen?
Perhaps #dup? Or both? Or am I being over concerned and we shouldn’t