I think the saving/persistence comment of mine diverted the focus of
the question.  Robert's comment " the proper way is to implement ==,
eql? and hash in order to provide correct equivalence semantics.  The
easy way is to use Struct which will implement those methods for you
based on the fields you define." seem to be the key   I was just
asking for clarification re how the Struct can be used to save time in
implementing....